P1420 最长连号
题目描述
输入长度为 nn 的一个正整数序列,要求输出序列中最长连号的长度。
连号指在序列中,从小到大的连续自然数。
输入格式
第一行,一个整数 n。
第二行,n 个整数 a i a_i ai,之间用空格隔开。
输出格式
一个数,最长连号的个数。
输入输出样例
输入 #1复制
10
1 5 6 2 3 4 5 6 8 9
输出 #1复制
5
说明/提示
数据规模与约定
对于 100%100% 的数据,保证 1 ≤ n ≤ 1 0 4 , 1 ≤ a i ≤ 1 0 9 1 \leq n \leq 10^4,1 \leq a_i \leq 10^9 1≤n≤104,1≤ai≤109。
题解
python
x=eval(input())
n=list(map(eval,input().split()))
res=[]
i=1
tmp=1
while i<x:
if n[i]-1==n[i-1]:tmp+=1
else:
res.append(tmp)
tmp=1
if i == x - 1: res.append(tmp)
i+=1
print(max(res))
c++
#include <iostream>
#include <algorithm>
using namespace std;
int x,n[10000],tmp=1,res[10000];
int main() {
cin >> x;
for (int i = 0; i < x; cin>>n[i],++i);
for (int i = 1; i < x; ++i) {
if(n[i]-1==n[i-1])tmp+=1;
else{res[i]=tmp;tmp=1;}
if(i == x - 1)res[i]=tmp;
}
cout<< *max_element(res,res+x);
return 0;
}