BZOJ 5127 [Lydsy12月赛]数据校验
2018.01.03
2018.01.03
求一个数列下标L~R的数是否满足每相邻两个数之间的差$\leq1$.
Emmmmmm......
傻题。
用前缀和维护,没啥好讲的= =
#include <cstdio>
#include <algorithm>
using namespace std;
#define N 100000
int v[N+1],ans[N+1];
int main()
{
int n,m,l,r;
scanf("%d%d",&n,&m);
for(int i=1;i<=n;++i) scanf("%d",v+i);
for(int i=1;i<=n;++i)
{
ans[i]+=ans[i-1];
if(v[i]>v[i-1]+1||v[i]<v[i-1]-1) ans[i]++;
}
while(m--)
{
scanf("%d%d",&l,&r);
printf("%s\n",ans[r]==ans[l]?"YES":"NO");
}
return 0;
}