QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#412324 | #8672. 排队 | yaoyanfeng | 30 | 100ms | 45604kb | C++14 | 1.5kb | 2024-05-16 11:51:09 | 2024-05-16 11:51:10 |
Judging History
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;
}
詳細信息
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 10
Accepted
time: 0ms
memory: 32552kb
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: -10
Wrong Answer
time: 8ms
memory: 34700kb
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: 78ms
memory: 45604kb
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: 0
Accepted
time: 84ms
memory: 44428kb
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: 0
Accepted
time: 71ms
memory: 42140kb
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: 0
Accepted
time: 94ms
memory: 45476kb
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: 0
Accepted
time: 79ms
memory: 37476kb
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: 0
Accepted
time: 86ms
memory: 42956kb
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: 0
Accepted
time: 78ms
memory: 39592kb
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: 0
Accepted
time: 83ms
memory: 37288kb
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: 0
Accepted
time: 90ms
memory: 41924kb
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: 0
Accepted
time: 77ms
memory: 39588kb
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: 86ms
memory: 44224kb
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: 92ms
memory: 40612kb
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: 0
Accepted
time: 88ms
memory: 37368kb
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: 0
Accepted
time: 90ms
memory: 45380kb
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: 0
Accepted
time: 100ms
memory: 39336kb
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: 0
Accepted
time: 87ms
memory: 39664kb
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: 0
Accepted
time: 87ms
memory: 39348kb
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: 0
Accepted
time: 86ms
memory: 43184kb
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: 0
Accepted
time: 83ms
memory: 43004kb
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: 0
Accepted
time: 77ms
memory: 41588kb
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: 0
Accepted
time: 76ms
memory: 40908kb
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%