0
点赞
收藏
分享

微信扫一扫

倒计数(暑假每日一题 37)


艾弗里有一个由

数组中的第 个整数是

如果一个连续的子数组的长度为 ,并且按顺序包含整数 ,则称它为

例如,

请帮助艾弗里计算她的数组中有多少个

输入格式
第一行包含整数 ,表示共有

对于每组数据,第一行包含两个整数

第二行包含 个整数,其中第 个表示

输出格式
每组数据输出一个结果,每个结果占一行。

结果表示为 ​​Case #x: y​​​,其中 为组别编号(从 开始),

数据范围




输入样例:

3
12 3
1 2 3 7 9 3 2 1 8 3 2 1
4 2
101 100 99 98
9 6
100 7 6 5 4 3 2 1 100

输出样例:

Case #1: 2
Case #2: 0
Case #3: 1

样例解释
在示例 中,有两个

1 2 3 7 9 3 2 1 8 3 2 1
1 2 3 7 9 3 2 1 8 3 2 1

在示例 中,没有

在示例 中,有一个

100 7 6 5 4 3 2 1 100

#include<iostream>

using namespace std;

const int N = 200010;

int n, k;
int q[N];

int main(){

int t;
scanf("%d", &t);

for(int l = 1; l <= t; l++){

scanf("%d%d", &n, &k);
for(int i = 0; i < n; i++) scanf("%d", &q[i]);

int res = 0;
for(int i = 0; i < n; i++)
if(q[i] == k){

int j = i + 1;
while(j < n && q[j] + 1 == q[j-1]) j++;
if(q[j-1] == 1) res++;
i = j - 1;
}

printf("Case #%d: %d\n", l, res);
}


return 0;
}


举报

相关推荐

0 条评论