0
点赞
收藏
分享

微信扫一扫

破纪录者(暑假每日一题 41)


Isyana 获得了其当地主题公园连续

其中第 天的游客人数为

如果某天能够同时满足以下两个条件,则这一天被视为破纪录的一天:

  1. 这一天的游客人数严格大于以前每一天的游客人数。
  2. 这是最后一天,或者这一天的游客人数严格大于下一天的游客人数。
    请注意,第一天也可以是破纪录的一天。

请帮助 Isyana 找出破纪录的天数。

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

每组数据第一行包含整数

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

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

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

数据范围


对于每个测试点,满足 的数据一定不超过 组,其余数据则满足

输入样例:

4
8
1 2 0 7 2 0 2 0
6
4 8 15 16 23 42
9
3 1 4 1 5 9 2 6 5
6
9 9 9 9 9 9

输出样例:

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

样例解释
对于测试样例 ,第二天和第四天破了纪录。

对于测试样例 ,只有最后一天破了纪录。

对于测试样例 ,第一天、第三天和第六天破了纪录。

对于测试样例 ,没有一天破了纪录。

#include<iostream>
#include<cstring>

using namespace std;

const int N = 200010;

int n;
int q[N];

int main(){

int t;
scanf("%d", &t);
for(int l = 1; l <= t; l++){

printf("Case #%d: ", l);
memset(q, -1, sizeof q);
scanf("%d", &n);
int res = 0, mx = -1;
for(int i = 1; i <= n; i++) scanf("%d", &q[i]);
for(int i = 1; i <= n; i++){
if(q[i] > mx){
mx = q[i];
if(q[i] > q[i+1]) res++;
}
}

printf("%d\n", res);
}

return 0;
}


举报

相关推荐

0 条评论