洛谷——P1420 最长连号
题目描述
输入n个正整数,(1<=n<=10000),要求输出最长的连号的长度。(连号指从小到大连续自然数)
输入输出格式
输入格式:
第一行,一个数n;
第二行,n个正整数,之间用空格隔开。
输出格式:
一个数,最长连号的个数。
输入输出样例
输入样例#1:
10 3 5 6 2 3 4 5 6 8 9
输出样例#1:
5
很显然,这是来搞笑的。
代码:
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include<algorithm> #define N 100000 using namespace std; int n,a[N],maxn,ans; int read() { int x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-') f=-1; ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0'; ch=getchar();} return x*f; } int main() { n=read(); for(int i=1;i<=n;i++) a[i]=read(); for(int i=1;i<=n;i++) if(a[i]==a[i-1]+1) ans++; else maxn=max(maxn,ans),ans=1; printf("%d",maxn); return 0; }