A. A Prank

题意

有数列从小到大排列,都是不同范围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;
}
posted @ 2018-11-16 16:51  ChunhaoMo  阅读(148)  评论(0)    收藏  举报