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
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#82048 | #1021. jwp的区间游戏 | Accepted | 100 | 312 ms | 6880 K | C++ 11 / 935 B | y | 2023-03-10 18:27:06 |
#include <algorithm>
#include <cstdio>
#define N 1000009
#define RI register int
#define lowbit(x) (x & -x)
using namespace std;
int n, C[N], ans;
struct DT {
int l, r;
} a[N];
inline int read();
bool cmp(DT x, DT y) { return x.r == y.r ? x.l < y.l : x.r < y.r; }
inline void add(int x) {
for (RI i = x; i < N; i += lowbit(i)) ++C[i];
}
inline int qry(int x, int ret = 0) {
for (RI i = x; i; i -= lowbit(i)) ret += C[i];
return ret;
}
int main() {
n = read();
for (RI i = 1; i <= n; ++i) a[i].l = read(), a[i].r = read();
sort(a + 1, a + 1 + n, cmp);
for (RI i = 1; i <= n; ++i)
if (qry(a[i].r) == qry(a[i].l - 1))
++ans, add(a[i].r);
printf("%d\n", ans);
return 0;
}
inline int read() {
int x = 0;
char c = getchar();
while (c > '9' || c < '0') c = getchar();
while (c >= '0' && c <= '9') {
x *= 10;
x += c - '0';
c = getchar();
}
return x;
}
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