17
3 3
1 9
7 8
4 0
2 6
12 5
3 0
0 10
0 11
0 0
5 3
10 10
6 5
8 0
9 2
8 1
5 0
5 1
7
<2829398 bytes omitted>
Special Judge 信息
Files user_out and answer differ
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#28305 | #1008. H. 开疆辟土,公司成立 | Wrong Answer | 0 | 12 ms | 300 K | C++ 17 / 979 B | 人试92-何雨萌 | 2020-06-30 21:59:19 |
//#include<bits/stdc++.h>
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
struct Interval {
int left;
int right;
bool operator<(const Interval &x) const { //用于sort
return (right < x.right || (right == x.right && left > x.left));
}
} tot[1000000];
//尽可能往右选的同时保证每个区间都有个点
int choose_point(Interval *x, int n) {
sort(x, x + n);
int ans = 1, r = x[0].right;
for (int i = 1; i < n; i++) {
if (x[i].left > r) {
r = x[i].right;
ans++;
}
}
return ans;
}
int main() {
int n;
cin >> n;
if (n < 1 || n > 1000000)
return 0;
for (int i = 0; i < n; i++) {
cin >> tot[i].left;
cin >> tot[i].right;
if (tot[i].left < 1 || tot[i].left > 1000000 || tot[i].right < 1 || tot[i].right > 1000000)
return 0;
}
cout << choose_point(tot, n);
return 0;
}
17
3 3
1 9
7 8
4 0
2 6
12 5
3 0
0 10
0 11
0 0
5 3
10 10
6 5
8 0
9 2
8 1
5 0
5 1
7
<2829398 bytes omitted>
Special Judge 信息
Files user_out and answer differ
系统信息
Exited with return code 0
1
464 491
795 867
164 87
803 106
734 583
278 855
600 628
824 780
992 364
778 598
747 423
<1999727 bytes omitted>
用户输出
1
Special Judge 信息
Files user_out and answer differ
系统信息
Exited with return code 0
1
491 462
33 971
433 904
185 869
103 87
507 127
238 315
994 56
215 73
771 129
430 505
281
<1990927 bytes omitted>
用户输出
1
Special Judge 信息
Files user_out and answer differ
系统信息
Exited with return code 0