题意
有数列从小到大排列,都是不同范围1~ 1000,问你最多去掉多少个数字还能复原
由于wrong很多发所以写一下
链接
[http://codeforces.com/contest/1062/problem/A]
分析
坑爹的是注意从1开始,和1000结尾的那两段
其他枚举
代码
#include<bits/stdc++.h>
using namespace std;
#define N 100000+5
int a[N];
int main()
{
int i, j, k;
int n, m;
cin>>n;
for(i=0; i<n; i++)
cin>>a[i];
int co=0, maxn=0;
for(i=0; i<n; i++)
{
if(!i && a[i+1]==2)
co++;
else if(i==n-1 && a[n-2]==999)
co++;
else
{
if(a[i]==a[i-1]+1 && a[i]==a[i+1]-1)
co++;
else maxn=max(maxn, co), co=0;
}
}
maxn=max(maxn, co);
cout<<maxn<<endl;
return 0;
}