QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#412324#8672. 排队yaoyanfeng30 110ms43092kbC++141.5kb2024-05-16 11:51:092024-05-16 17:39:29

Judging History

你现在查看的是最新测评结果

  • [2024-05-16 17:39:29]
  • 管理员手动重测本题所有提交记录
  • 测评结果:30
  • 用时:110ms
  • 内存:43092kb
  • [2024-05-16 11:51:10]
  • 评测
  • 测评结果:30
  • 用时:100ms
  • 内存:45604kb
  • [2024-05-16 11:51:09]
  • 提交

answer

#include <bits/stdc++.h>
#define pii pair<int, int>
#define mkp make_pair
using namespace std;
const int N = 1000100;
int n, q;
int a[N], b[N];
struct BIT{
    int c[N];
    void add(int x, int k) {
        for (; x <= n; x += -x & x)
            c[x] += k;
        return;
    }
    void add(int l, int r, int k) {
        add(l, k), add(r + 1, -k);
        return;
    }
    int ask1(int k) {
        int x = 0, s = 0;
        for (int i = 19; i >= 0; --i) {
            if (s + c[x + (1 << i)] > k) {
                x += 1 << i, s += c[x];
            }
        }
        return x + 1;
    }
    int ask2(int k) {
        int x = 0, s = 0;
        for (int i = 19; i >= 0; --i) {
            if (x + (1 << i) <= n && s + c[x + (1 << i)] >= k) {
                x += 1 << i, s += c[x];
            }
        }
        return x;
    }
    int ask(int x) {
        int k = 0;
        for (; x; x -= -x & x)
            k += c[x];
        return k;
    }
} zq;
vector<pii> query[N];
int ans[N];
int main() {
    scanf("%d%d", &n, &q);
    for (int i = 1; i <= n; ++i) scanf("%d%d", a + i, b + i);
    for (int i = 1, x, y; i <= q; ++i) {
        scanf("%d%d", &x, &y);
        query[y].push_back(mkp(x, i));
    }
    for (int i = 1; i <= n; ++i) {
        int u = zq.ask1(b[i]), v = min(zq.ask2(a[i]), i);
        if (u <= v) zq.add(u, v, 1);
        for (pii x : query[i])
            ans[x.second] = zq.ask(x.first);
    }
    for (int i = 1; i <= q; ++i) printf("%d ", ans[i]);
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 10
Accepted
time: 4ms
memory: 34572kb

input:

3 3
0 0
1 2
0 2
1 1
1 3
2 3

output:

1 3 1 

result:

ok 3 number(s): "1 3 1"

Test #2:

score: 0
Wrong Answer
time: 6ms
memory: 32408kb

input:

5000 5000
5 10
3 9
3 8
2 7
2 5
3 6
1 5
0 2
7 8
2 10
0 3
3 6
4 6
1 6
4 8
7 8
2 7
3 4
4 9
7 8
2 9
2 5
3 6
0 5
6 7
1 2
2 4
2 10
1 5
7 9
6 9
2 3
9 10
5 5
2 9
3 3
2 7
2 4
0 6
0 3
1 7
7 7
4 8
2 9
4 8
0 10
1 8
1 1
2 7
5 9
1 7
1 7
1 4
2 4
1 4
2 9
1 7
4 7
3 8
1 3
4 6
1 5
1 6
0 0
3 9
4 7
2 8
1 8
1 2
7 8
2 7
2...

output:

11 11 11 0 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 1...

result:

wrong answer 4th numbers differ - expected: '11', found: '0'

Subtask #2:

score: 15
Accepted

Test #12:

score: 15
Accepted
time: 89ms
memory: 39448kb

input:

200000 200000
3 6
3 3
6 10
1 7
2 7
6 9
4 6
3 4
0 8
0 6
3 5
3 4
1 8
7 8
4 5
0 3
1 5
2 9
1 2
1 2
3 4
5 7
6 10
3 9
4 7
1 6
2 6
1 7
2 5
1 7
6 8
1 1
0 7
7 8
0 9
1 7
3 8
3 7
1 2
4 8
5 6
0 6
5 6
2 7
2 6
0 6
0 6
1 7
2 5
0 3
0 3
7 10
3 8
0 2
3 4
3 7
4 9
0 6
4 7
2 6
8 10
2 10
4 10
3 3
2 6
4 5
3 9
1 8
1 2
2 9
...

output:

11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ...

result:

ok 200000 numbers

Test #13:

score: 15
Accepted
time: 92ms
memory: 37496kb

input:

200000 200000
5 45
27 99
7 23
51 88
16 62
10 24
16 80
43 70
12 45
35 55
6 99
77 91
40 82
66 99
30 47
18 80
9 36
4 12
26 51
37 64
39 52
2 11
2 69
57 81
15 98
8 36
19 27
32 34
35 97
22 23
15 89
53 77
2 89
25 55
25 90
4 91
13 77
37 65
67 89
8 52
20 58
10 18
31 81
35 59
41 56
71 74
18 61
56 77
51 74
40 ...

output:

101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 0 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 10...

result:

ok 200000 numbers

Test #14:

score: 15
Accepted
time: 99ms
memory: 40988kb

input:

200000 200000
193 894
142 229
346 553
197 496
389 718
370 600
650 853
476 695
764 767
220 571
238 714
516 700
137 692
1 293
835 962
34 536
208 482
148 225
377 804
75 864
277 925
278 864
296 647
390 757
179 283
338 602
571 746
447 852
315 365
7 390
634 689
76 239
16 60
244 388
385 822
451 836
301 373...

output:

1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 961 999 1001 1001 1001 1001 1001 1001 981 1001 1001 1001 1001 1001 1001 1001 966 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001...

result:

ok 200000 numbers

Test #15:

score: 15
Accepted
time: 93ms
memory: 43092kb

input:

200000 200000
3145 7698
6037 6154
6483 6707
6834 7442
7373 9621
5166 8045
7346 8938
2235 5518
2240 4134
586 3188
3845 8054
1258 5380
2409 2631
3360 5706
19 2771
1925 9642
6687 8264
4305 8055
2844 5474
2282 7810
1738 4706
1462 7466
17 6282
2481 6022
2363 2987
3633 4157
1460 2634
4866 8159
3154 5079
2...

output:

9965 10001 0 10001 10001 10001 9991 10001 4831 9935 5274 10001 10001 2 10001 10001 10001 10001 9991 10001 10001 10001 10001 9935 9994 10001 9742 10001 10001 0 9982 10001 10001 10001 10001 10001 80 0 9991 9763 8 10001 9975 9939 10001 10001 9092 9983 9333 10001 10001 10001 10001 10001 10001 10001 9965...

result:

ok 200000 numbers

Test #16:

score: 15
Accepted
time: 98ms
memory: 37528kb

input:

200000 200000
15540 44932
12196 33126
776 23774
35673 42863
31231 44618
16521 19781
8467 9747
5319 42216
13940 21955
3389 6981
22 11576
15248 17307
5734 35942
12762 45217
30349 47977
8869 11242
11199 25942
3415 10196
20104 40771
8813 28517
29726 34188
13420 13731
17526 30474
1033 44930
3143 10541
46...

output:

8 31 33781 8 161 3 618 14580 3 25947 1415 455 2 147 16877 21598 539 56 7425 6686 4 393 4 4 4378 176 24 1407 837 19 14 7146 7 19626 21422 9 20472 0 200 3514 2 380 35942 35129 1 216 3 312 1200 2519 4046 9 1734 1318 21862 3361 27414 52 38201 2303 635 235 1 17 271 24468 29 1029 1071 38200 10968 95 4 125...

result:

ok 200000 numbers

Test #17:

score: 15
Accepted
time: 97ms
memory: 40480kb

input:

200000 200000
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
0 10
0 11
0 12
0 13
0 14
0 15
0 16
0 17
0 18
0 19
0 20
0 21
0 22
0 23
0 24
0 25
0 26
0 27
0 28
0 29
0 30
0 31
0 32
0 33
0 34
0 35
0 36
0 37
0 38
0 39
0 40
0 41
0 42
0 43
0 44
0 45
0 46
0 47
0 48
0 49
0 50
0 51
0 52
0 53
0 54
0 55
0 56
0 57
0 58
0 59
...

output:

74058 156458 175945 88572 145372 79026 163392 139232 188241 158454 17719 20452 171150 171343 104047 159458 132045 70328 136937 64711 174467 69614 125002 131739 81388 166709 80139 138489 34431 142820 179669 125831 148484 115982 184021 189596 73421 151270 194210 134276 117448 129846 127920 160607 1132...

result:

ok 200000 numbers

Test #18:

score: 15
Accepted
time: 107ms
memory: 37224kb

input:

200000 200000
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
0 10
0 11
0 0
0 13
0 14
0 15
0 16
0 17
0 18
0 19
0 20
0 21
0 22
0 23
0 24
0 25
0 0
0 27
0 28
0 29
0 30
0 0
0 32
0 33
0 34
0 35
0 36
0 0
0 0
0 39
0 40
0 41
0 42
0 43
0 44
0 45
0 46
0 47
0 48
0 49
0 50
0 51
0 52
0 53
0 54
0 55
0 56
0 0
0 58
0 59
0 60
0...

output:

173310 165951 120854 142558 87420 163018 160623 76341 172338 95167 169845 31220 168100 132276 165092 84047 128575 138423 171800 154331 137251 163376 79848 167392 43722 41974 133487 110272 168461 91407 103766 57088 165360 154903 110464 80792 144277 102908 146051 175704 77052 168422 56979 126413 14964...

result:

ok 200000 numbers

Test #19:

score: 15
Accepted
time: 97ms
memory: 37092kb

input:

200000 200000
45 200000
27 200000
7 200000
51 200000
16 200000
10 200000
16 200000
43 200000
12 200000
35 200000
6 200000
77 200000
40 200000
66 200000
30 200000
18 200000
36 200000
12 200000
26 200000
37 200000
39 200000
11 200000
69 200000
57 200000
15 200000
8 200000
19 200000
32 200000
35 200000...

output:

131384 192629 61130 80247 87887 198740 163105 103211 176599 77117 195385 125105 27678 146598 146076 171154 143664 106375 184677 176668 63515 47861 66512 94607 61773 118863 110829 90228 162033 193193 118985 114311 63857 156350 94535 157429 67223 146494 96304 188983 139817 196687 121473 115649 160519 ...

result:

ok 200000 numbers

Test #20:

score: 15
Accepted
time: 97ms
memory: 40688kb

input:

200000 200000
6 200000
3 200000
6 200000
7 200000
2 200000
9 200000
4 200000
3 200000
0 200000
6 200000
3 200000
3 200000
1 200000
8 200000
4 200000
3 200000
5 200000
2 200000
2 200000
2 200000
4 200000
5 200000
6 200000
3 200000
7 200000
1 200000
2 200000
7 200000
2 200000
1 200000
6 200000
1 20000...

output:

191039 169762 165539 174400 68195 177129 154654 147432 156994 76044 194413 99752 191624 151075 197252 164294 18272 88957 158459 84713 87887 43439 179674 131694 123135 59410 106882 159392 139714 64645 69698 100948 140917 103251 45494 170482 166885 104101 194216 145914 120315 76168 77653 141867 198409...

result:

ok 200000 numbers

Test #21:

score: 15
Accepted
time: 93ms
memory: 37292kb

input:

200000 200000
17611 69131
59430 76978
15340 23731
45422 61357
24684 32905
12111 30945
3173 53122
1908 18775
21868 25563
43076 69772
23316 73134
37315 71711
16622 29769
5311 27384
7573 9838
45306 81042
21408 85530
32497 55253
12816 72989
13973 55180
2256 48643
39562 81719
47954 61844
8166 64533
5302 ...

output:

1 2 6 0 2 0 0 0 3 7 1 2 0 0 2 10 1 0 0 1 13 0 2 2 0 4 0 1 7 0 4 14 1 1 0 2 0 0 0 0 5 0 14 4 0 2 14 0 2 0 0 2 1 0 2 1 0 8 10 0 0 8 3 0 10 4 1 1 0 0 13 3 0 4 0 1 1 2 0 1 8 4 1 0 0 5 2 8 0 0 0 1 1 0 0 0 4 9 9 7 2 0 2 13 3 0 0 2 0 0 0 1 0 5 10 5 13 1 0 7 10 1 2 3 0 0 1 5 1 5 0 0 1 0 1 0 1 0 1 7 4 1 0 3 ...

result:

ok 200000 numbers

Subtask #3:

score: 0
Wrong Answer

Test #22:

score: 0
Wrong Answer
time: 110ms
memory: 42832kb

input:

200000 200000
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 0
0 9
0 10
0 0
0 0
0 13
0 14
0 0
0 16
0 17
0 18
0 19
0 0
0 21
0 22
0 23
0 0
0 0
0 0
0 0
0 28
0 0
0 30
0 31
0 32
0 33
0 34
0 35
0 0
0 0
0 38
0 39
0 40
0 41
0 42
0 43
0 44
0 45
0 46
0 0
0 48
0 49
0 50
0 51
0 52
0 53
0 54
0 55
0 56
0 57
0 0
0 59
0 60
0 0
0 0
...

output:

19141 39288 14841 58655 15427 4999 26338 93250 2826 78084 64070 55481 2565 15173 24866 57627 35887 51335 67552 44939 27730 24781 54502 26903 73199 7553 3836 41740 67889 104576 43522 3766 13007 31659 17264 85349 16595 28681 64012 56457 23856 47820 22752 86123 37679 44828 88810 36305 15843 33728 10005...

result:

wrong answer 587th numbers differ - expected: '178', found: '177'

Subtask #4:

score: 15
Accepted

Test #32:

score: 15
Accepted
time: 103ms
memory: 40768kb

input:

200000 200000
0 200000
1 200000
1 200000
0 200000
0 200000
1 200000
1 200000
1 200000
0 200000
1 200000
0 200000
0 200000
1 200000
0 200000
0 200000
0 200000
0 200000
1 200000
0 200000
0 200000
1 200000
0 200000
1 200000
1 200000
1 200000
1 200000
0 200000
0 200000
1 200000
2 200000
1 200000
2 20000...

output:

71224 21392 65746 47218 62293 29293 146310 136621 165312 81582 25124 120262 104926 12518 90915 31784 50073 15588 1517 106447 92329 71506 16694 4846 38213 34902 133281 98867 697 26263 6631 173459 61316 71682 15564 112191 125788 15305 41840 30379 24107 17435 10898 115177 22279 37582 101778 120170 1264...

result:

ok 200000 numbers

Test #33:

score: 15
Accepted
time: 97ms
memory: 37228kb

input:

200000 200000
5 200000
0 200000
1 200000
0 200000
2 200000
1 200000
0 200000
3 200000
4 200000
1 200000
0 200000
2 200000
1 200000
0 200000
0 200000
5 200000
2 200000
0 200000
2 200000
2 200000
0 200000
1 200000
3 200000
4 200000
2 200000
0 200000
5 200000
0 200000
3 200000
0 200000
0 200000
5 20000...

output:

51850 27495 33433 90638 103054 58851 115355 44294 80395 72594 155250 20604 154366 112939 168447 70437 134688 175930 112777 43168 73760 136485 95405 115772 19580 14448 85020 8135 266 66591 24765 14783 101583 182811 27593 75020 64180 50889 69744 140901 99500 62001 74634 142631 93413 188391 25666 29627...

result:

ok 200000 numbers

Test #34:

score: 15
Accepted
time: 110ms
memory: 39256kb

input:

200000 200000
6 200000
3 200000
6 200000
7 200000
2 200000
9 200000
4 200000
3 200000
0 200000
6 200000
3 200000
3 200000
1 200000
8 200000
4 200000
3 200000
5 200000
2 200000
2 200000
2 200000
4 200000
5 200000
6 200000
3 200000
7 200000
1 200000
2 200000
7 200000
2 200000
1 200000
6 200000
1 20000...

output:

48539 120803 28813 145711 29729 172683 112151 52277 31739 73432 63297 64022 176699 103343 145926 110637 5216 25387 86738 39373 77641 3608 134147 26930 117814 50832 9240 59137 73006 34370 34497 804 96016 101388 3489 30001 85307 17852 1324 32486 37351 12503 28321 42856 196324 95124 119392 87948 28069 ...

result:

ok 200000 numbers

Test #35:

score: 15
Accepted
time: 100ms
memory: 40700kb

input:

200000 200000
45 200000
27 200000
7 200000
51 200000
16 200000
10 200000
16 200000
43 200000
12 200000
35 200000
6 200000
77 200000
40 200000
66 200000
30 200000
18 200000
36 200000
12 200000
26 200000
37 200000
39 200000
11 200000
69 200000
57 200000
15 200000
8 200000
19 200000
32 200000
35 200000...

output:

102146 138864 3922 35890 61622 45382 45112 14900 58606 39462 173762 102549 8848 81805 48479 48103 10353 63948 139153 34744 24441 35639 58427 40153 41974 28423 106874 11420 118809 141816 59608 59417 25106 134727 11556 40866 27752 61000 52123 94606 325 144695 24421 115649 156435 132658 25786 136006 18...

result:

ok 200000 numbers

Test #36:

score: 15
Accepted
time: 98ms
memory: 41796kb

input:

200000 200000
894 200000
142 200000
346 200000
496 200000
389 200000
600 200000
650 200000
476 200000
767 200000
220 200000
238 200000
516 200000
137 200000
1 200000
835 200000
34 200000
208 200000
225 200000
377 200000
75 200000
277 200000
278 200000
647 200000
390 200000
179 200000
602 200000
571 ...

output:

82980 71975 66684 28250 111297 44819 114569 54121 107328 25452 72738 53632 23692 426 71363 73241 154868 34365 20278 17775 146745 22972 136874 69984 53 79587 2967 124150 52120 87623 89603 4325 87876 13984 119053 27551 69825 112363 84048 157846 1462 94224 79643 115628 117698 116223 38012 32665 94002 1...

result:

ok 200000 numbers

Test #37:

score: 15
Accepted
time: 89ms
memory: 41808kb

input:

200000 200000
30 200000
9 200000
18 200000
24 200000
68 200000
54 200000
26 200000
3 200000
42 200000
32 200000
27 200000
58 200000
1 200000
34 200000
16 200000
61 200000
11 200000
25 200000
69 200000
48 200000
1 200000
11 200000
51 200000
46 200000
45 200000
48 200000
8 200000
11 200000
76 200000
1...

output:

173724 167565 196183 155627 73842 112798 182774 198559 148707 78823 124508 189149 139326 167284 179483 145557 81468 183248 195819 198503 179022 158694 167743 30007 115871 163056 159742 39661 110436 112768 148610 172927 108963 141742 144742 195300 136697 158981 169064 113954 164065 191476 87872 11760...

result:

ok 200000 numbers

Test #38:

score: 15
Accepted
time: 108ms
memory: 42972kb

input:

200000 200000
4 200000
3 200000
5 200000
9 200000
3 200000
5 200000
3 200000
4 200000
1 200000
7 200000
5 200000
2 200000
2 200000
5 200000
7 200000
0 200000
2 200000
1 200000
6 200000
7 200000
3 200000
4 200000
5 200000
2 200000
2 200000
6 200000
2 200000
8 200000
8 200000
2 200000
2 200000
0 20000...

output:

46615 181434 182190 170634 93896 160383 177806 162444 168792 138030 132992 146565 174737 175152 50188 136539 105800 168041 179972 82742 181959 171407 173501 132587 137393 55914 157218 61659 132609 192152 167976 117558 60445 119612 112065 109544 154984 108960 161879 140516 153475 78686 127811 108796 ...

result:

ok 200000 numbers

Test #39:

score: 15
Accepted
time: 99ms
memory: 39368kb

input:

200000 200000
200 200000
418 200000
690 200000
193 200000
63 200000
799 200000
474 200000
40 200000
287 200000
38 200000
204 200000
334 200000
258 200000
262 200000
269 200000
368 200000
167 200000
30 200000
51 200000
55 200000
119 200000
523 200000
33 200000
896 200000
253 200000
674 200000
119 200...

output:

171189 85389 126329 140440 183837 83618 89897 140242 183271 155531 156556 101126 70897 129804 140582 38794 150678 129225 97071 167132 123699 102800 162069 161274 162407 179233 150750 147270 150942 171716 178973 170764 152580 176935 138712 165104 157524 7651 105384 116173 174996 159737 138067 119161 ...

result:

ok 200000 numbers

Test #40:

score: 15
Accepted
time: 103ms
memory: 40768kb

input:

200000 200000
611 200000
1167 200000
3159 200000
3415 200000
2254 200000
697 200000
6942 200000
23 200000
1856 200000
894 200000
6650 200000
3813 200000
5825 200000
5844 200000
5534 200000
6993 200000
3021 200000
515 200000
1584 200000
2031 200000
265 200000
8912 200000
6889 200000
6934 200000
833 2...

output:

73994 144591 49265 71224 136162 94664 159060 157355 118335 31810 103232 94713 103259 155339 60542 143894 121148 83887 112143 121172 58706 128573 148964 30102 37612 48511 115410 139260 109 43908 122649 126684 199 98137 22165 80600 2 77835 100163 132242 113078 105702 88160 62364 9 91895 58316 158056 1...

result:

ok 200000 numbers

Test #41:

score: 15
Accepted
time: 95ms
memory: 37268kb

input:

200000 200000
3480 200000
36579 200000
10485 200000
18356 200000
20788 200000
3352 200000
4565 200000
33362 200000
6894 200000
25647 200000
5915 200000
19265 200000
3530 200000
26535 200000
18506 200000
18191 200000
35793 200000
7442 200000
993 200000
14550 200000
13606 200000
5553 200000
12284 2000...

output:

5275 1880 872 857 82 152 7419 496 461 371 2714 1207 660 1744 219 63 17 3346 5677 461 1231 196 2250 97 3770 214 986 189 180 584 2666 0 821 107 839 8 223 90 476 71 867 107 6918 4760 4033 454 3138 1159 6072 4693 56 191 186 245 474 104 377 3627 141 3367 3835 1005 2433 223 6480 2854 29 213 120 6433 57 11...

result:

ok 200000 numbers

Subtask #5:

score: 0
Skipped

Dependency #1:

0%

Subtask #6:

score: 0
Skipped

Dependency #5:

0%