社区讨论
玄学评测机
学术版参与者 4已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @mhj0x17p
- 此快照首次捕获于
- 2025/11/03 18:55 4 个月前
- 此快照最后确认于
- 2025/11/03 18:55 4 个月前
P11853 [CSP-J2022 山东] 植树节
题目背景
受疫情影响,山东省取消了 CSP-J 2022 认证活动,并于次年三月重新命题,在省内补办比赛。
题目描述
植树节快要到了,学校要组织志愿者去给树苗浇水。
有一排树苗,编号依次是 。
现有 个志愿者去给树苗浇水,第 个志愿者选定了一个区间 ,表示第 个志愿者将 这一区间内的每一棵树都浇一次水。
如某个志愿者选择的浇水区间为 ,表示他将给编号为 的树各浇水一次。
当所有的志愿者完成各自所选区间的浇水后,可能有些树苗被不同的志愿者浇水多次,也可能有的树苗一次也没被浇过水。
请你求出浇水最多的树苗被浇了多少次。
输入格式
第 行,一个整数 ,表示志愿者的人数。
第 行到第 行,每行两个整数 (),表示志愿者 选择的浇水区间。
输出格式
输出 行, 个整数,表示浇水最多的树苗被浇水的次数。
输入输出样例 #1
输入 #1
CPP4
0 2
2 4
1 4
6 7
输出 #1
CPP3
输入输出样例 #2
输入 #2
CPP4
1000000 1000000
1000000 1000000
0 1000000
1 1000000
输出 #2
CPP4
说明/提示
数据范围
- 对于所有的数据: ;。
| 测试点编号 | 特殊性质 | |||
|---|---|---|---|---|
| 无 | ||||
| 无 | ||||
| 无 |
以上是题面,我的代码如下:
CPP#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
const int N=1e6+10;
int n,x,y,a[N],ans,maxn;
int main(){
// freopen("tree.in","r",stdin);
// freopen("tree.out","w",stdout);
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
cin>>x>>y;
a[x]++;
a[y+1]--;
maxn=max(maxn,y);
}
for(int i=0;i<=maxn;i++)
a[i]=a[i-1]+a[i];
for(int i=0;i<=maxn;i++){
ans=max(ans,a[i]);
}
cout<<ans;
return 0;
}
眼尖的已经看到了,
for(int i=0;i<=maxn;i++) a[i]=a[i-1]+a[i]; 这里的 是从 开始的,但是 a[i-1] 这里不就访问到 了吗。。更离谱的是我还过了:提交记录
不应该 吗(雾
回复
共 5 条回复,欢迎继续交流。
正在加载回复...