​题目链接​

给定一串单调递增的区间,判断去掉几个数能进行还原区间可以选值为[1,1000]这道题需要一个特判

首先样例:​​1 2​​​这个需要特判一下因为其他的形如​​5 6​​​ ​​8 9​​​的特殊样例都无法还原区间 ​​999 1000​​​ 也可以进行还原去区间所以都进行一下特判,之后就按照操作进行即可
AC代码:

#include<bits/stdc++.h>
using namespace std;
int h[1005];
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&h[i]);
}
int sum=0,maxx=0;
if(h[1]==1&&h[2]==2)
sum++;
for(int i=2;i<n;i++)
{
if(h[i-1]+1==h[i]&&h[i]+1==h[i+1])
{
sum++;
}
else
{
maxx=max(sum,maxx);
sum=0;
}
}
if(h[n-1]==999&&h[n]==1000)
sum++;
printf("%d\n",max(maxx,sum));

}