#include <iostream>
#include <set>
#include <cstdio>
#include <string.h>
using namespace std;
#define maxn 10010
int a[maxn],ans[1100];
int main()
{
int n,m;
int cas=0;
while(scanf("%d%d",&n,&m)!=EOF)
{
memset(ans,0,sizeof(ans));
for(int i=0;i<n;i++) scanf("%d",&a[i]);
for(int i=0;i<n;i++)
{
int Min,Max;
Min=Max=a[i];
set<int>que;
for(int j=0;j<1000;j++)
{
que.insert(a[j+i]);
if((j+1)!=que.size()) break;
Min=min(Min,a[j+i]);
Max=max(Max,a[j+i]);
if(Max-Min==j)
ans[j+1]++;
}
}
int q;
printf("Case #%d:\n",++cas);
while(m--)
{
scanf("%d",&q);
printf("%d\n",ans[q]);
}
}
return 0;
}
HDU 5247 【学习SET使用】
最新推荐文章于 2019-11-03 11:31:41 发布