社区讨论
P1589 泥泞路 样例过,0分求调 玄关
学术版参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @m6n2un9g
- 此快照首次捕获于
- 2025/02/02 11:43 去年
- 此快照最后确认于
- 2025/11/04 10:06 4 个月前
https://www.luogu.com.cn/problem/P1589
思路:用循环把开始到结束的每一个点都定义为1 然后循环,看能加几个 (也就是题目中的 )。
CPP#include<bits/stdc++.h>
#define ll long long
using namespace std;
bool a[111111111];
ll n, m, ans;
ll mini = 9999999999, maxj = -1;
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) {
int ii, jj;
cin >> ii >> jj;
if (ii <= mini) {
mini = ii;
}
if (jj >= maxj) {
maxj = jj;
}
for (int j = ii; j <= jj; j++) {
a[j]++;
}
}
for (int i = mini; i <= maxj; i++) {
if (a[i] == 1) {
i += m;
ans++;
}
}
// cout<<mini<<endl<<maxj<<endl;
cout << ans;
return 0;
}
// ios::sync_with_stdio(false);
回复
共 1 条回复,欢迎继续交流。
正在加载回复...