131
272 428
185 936
3 288
271 549
707 958
362 614
128 778
512 570
233 880
68 475
517 986
<1061 bytes omitted>
用户输出
12
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#21003 | #1021. jwp的区间游戏 | Accepted | 100 | 322 ms | 6920 K | C++ 11 / 881 B | zichengsaber | 2019-09-18 23:12:01 |
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
/*
问题描述:n个[ai,bi];找k个点使得任意一个区间[ai,bi]总存在某个点t使得ai<=t<=bi
*/
class Interval {
public:
int a, b;
public:
Interval(int x, int y) : a(x), b(y) {}
Interval() {}
friend bool operator<(const Interval& A, const Interval& B) { return A.b < B.b; }
};
const int maxn = 1e6 + 5;
Interval intervals[maxn];
int main() {
int n;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
scanf("%d%d", &intervals[i].a, &intervals[i].b);
}
sort(intervals + 1, intervals + 1 + n);
int num = 0;
int pos = 0;
for (int i = 1; i <= n; i++) {
if (pos < intervals[i].a) {
pos = intervals[i].b;
num++;
}
}
printf("%d\n", num);
return 0;
}
131
272 428
185 936
3 288
271 549
707 958
362 614
128 778
512 570
233 880
68 475
517 986
<1061 bytes omitted>
用户输出
12
系统信息
Exited with return code 0
43
27 52
40 72
16 58
45 77
74 99
17 18
39 64
30 94
2 88
14 93
85 86
6 28
86 93
29 45
<200 bytes omitted>
用户输出
6
系统信息
Exited with return code 0
47669
17877 19471
11395 15218
2902 18871
26938 27448
7762 11681
34 8895
19658 23096
1358 229
<587181 bytes omitted>
用户输出
249
系统信息
Exited with return code 0
706251
8804 16040
19927 24477
13287 18478
28138 29487
6264 25954
5313 29464
13205 16993
1231
<8702005 bytes omitted>
用户输出
915
系统信息
Exited with return code 0