题解
2024-03-03 21:17:34
发布于:江苏
59阅读
0回复
0点赞
难得发题解,看到正确率这么低高,也是来发个题解。
俩部分,上面是思路,下面是代码,不许照抄
首先,看到这道题,第一反应是活动安排的模板题,但是仔细看看,可以发现只需要找到重叠部分的最大数,也就是重叠人数,把它*10,就得到了我们的答案,也是非常简单。
下面,我将给出关键代码:
int a[1005];
int maxn = 1;
for(int i = 0; i < 100; i ++) maxn = max(maxn, a[i]);
这一步是相对难以理解的,首先定义一个局部变量i,设为0,如果大于100(因为题目要求ab小于100)就结束循环。接着每次更新maxn的值,如果用于存放的数组大于它原来的值,就更新。
这就是关键代码,完整代码如下:
#include <bits/stdc++.h>
using namespace std;
int a[1005];
int main(){
int n, maxn = 1;
cin >> n;
for(int i = 0; i < n; i ++){
int x, y;
cin >> x >> y;
for(int j = x; j <= y; j ++) a[j] ++;
}
for(int i = 0; i < 105; i ++) maxn = max(maxn, a[i]);
cout << maxn * 10;
return 0;
}
谢谢大家~
全部评论 2
14小时前 来自 北京
0被AC君采访了,nb
14小时前 来自 北京
0
有帮助,赞一个