QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#771317 | #8672. 排队 | user10086 | 10 | 16ms | 7924kb | C++23 | 835b | 2024-11-22 11:36:12 | 2024-11-22 11:36:13 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
int l[N], r[N], a[N];
struct Q
{
int l, r, ans, id;
}qry[N];
signed main()
{
int n, q; cin >> n >> q;
for (int i = 1; i <= n; i++) cin >> l[i] >> r[i];
for (int i = 1; i <= q; i++) cin >> qry[i].l >> qry[i].r, qry[i].id = i;
sort(qry + 1, qry + 1 + q, [](Q q1, Q q2) { return q1.r < q2.r; });
for (int i = 1, id = 1; i <= n; i++)
{
int lp = n + 1, rp = 0;
for (int j = 1; j <= i; j++)
if (l[i] <= a[j] && a[j] <= r[i]) lp = min(lp, j), rp = max(rp, j);
for (int j = lp; j <= rp; j++) a[j]++;
while (id <= q && qry[id].r == i)
{
qry[id].ans = a[qry[id].l];
id++;
}
}
sort(qry + 1, qry + 1 + q, [](Q q1, Q q2) { return q1.id < q2.id; });
for (int i = 1; i <= q; i++) cout << qry[i].ans << '\n';
}
详细
Subtask #1:
score: 10
Accepted
Test #1:
score: 10
Accepted
time: 1ms
memory: 7708kb
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
Accepted
time: 11ms
memory: 7848kb
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 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 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 5000 numbers
Test #3:
score: 10
Accepted
time: 12ms
memory: 7768kb
input:
5000 5000 33 36 10 96 0 89 45 59 4 38 16 26 7 83 3 45 37 78 32 57 19 58 24 88 81 87 24 68 18 38 50 78 27 92 61 98 1 13 8 63 33 55 38 76 18 43 64 72 24 93 7 34 1 38 44 72 5 36 62 71 6 72 8 53 22 93 75 78 24 69 10 38 31 99 12 100 57 67 22 65 34 44 37 88 3 48 62 84 62 79 5 68 1 18 49 57 45 64 6 38 37 3...
output:
101 101 101 101 63 101 101 101 99 100 28 86 101 92 101 101 101 101 101 101 101 101 99 101 101 101 101 92 101 101 4 101 101 101 101 101 101 74 101 101 101 101 101 101 41 101 101 51 101 101 101 101 101 101 101 100 101 101 100 101 101 101 101 101 94 101 101 101 101 101 101 46 101 99 101 101 7 101 95 10...
result:
ok 5000 numbers
Test #4:
score: 10
Accepted
time: 12ms
memory: 7896kb
input:
5000 5000 332 468 241 278 90 259 397 412 212 317 55 238 173 296 176 184 67 260 51 95 117 184 37 276 122 441 226 401 43 244 127 186 34 493 38 221 3 4 67 122 45 486 5 91 64 158 74 394 134 188 229 265 155 422 221 403 176 252 28 98 94 250 133 133 107 281 13 347 154 209 203 271 12 325 33 318 181 220 27 2...
output:
500 11 490 491 501 2 7 490 468 140 501 494 215 1 499 186 494 483 495 483 0 85 31 1 345 492 24 0 443 24 1 500 484 466 501 498 500 496 0 89 396 1 84 324 500 491 436 471 436 430 484 185 358 367 484 488 38 332 13 0 411 28 498 501 498 307 55 258 101 376 139 455 299 501 119 20 501 14 500 501 273 291 1 107...
result:
ok 5000 numbers
Test #5:
score: 10
Accepted
time: 13ms
memory: 7924kb
input:
5000 5000 67 104 31 155 488 834 533 622 20 899 560 652 91 910 362 683 173 699 241 251 130 644 276 631 712 926 54 840 142 440 88 566 387 997 54 771 579 866 107 862 241 467 26 289 448 701 482 584 118 632 120 419 480 654 271 699 78 621 251 509 140 689 213 356 681 930 371 412 0 142 590 853 557 711 387 5...
output:
13 5 586 0 215 95 471 38 4 268 134 731 118 855 701 5 36 868 2 713 23 47 0 615 390 406 251 9 913 163 841 15 1 829 61 152 111 3 468 517 112 6 6 243 31 0 9 752 187 208 105 0 229 242 773 340 0 34 0 686 22 112 65 13 231 867 911 177 83 3 125 22 43 22 47 186 87 416 871 7 0 38 187 743 357 645 144 854 6 20 6...
result:
ok 5000 numbers
Test #6:
score: 10
Accepted
time: 11ms
memory: 7828kb
input:
5000 5000 1484 3115 596 3914 2334 3936 2782 3399 176 1270 3695 4175 4185 4222 2165 2301 321 4460 33 35 679 1844 443 2424 292 520 796 995 1014 4510 1053 3456 589 4211 514 3195 449 4153 1314 4247 1388 1736 1301 2724 1555 1950 413 4176 3501 4606 396 1492 521 2047 125 3192 677 1709 317 1833 444 1562 120...
output:
0 1 2 0 1 0 0 0 0 0 0 1 2 1 0 1 0 0 0 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 1 0 0 0 3 1 2 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 3 0 0 1 0 0 0 0 0 2 0 2 2 0 2 2 3 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 0 0 0 0 2 0 0 0 0 0 0 0 0 1 ...
result:
ok 5000 numbers
Test #7:
score: 10
Accepted
time: 12ms
memory: 7760kb
input:
5000 5000 0 33 0 96 0 89 0 59 0 4 0 16 0 83 0 3 0 78 0 57 0 58 0 88 0 81 0 68 0 38 0 50 0 92 0 98 0 1 0 63 0 55 0 76 0 43 0 64 0 93 0 34 0 1 0 72 0 5 0 71 0 72 0 8 0 93 0 78 0 69 0 10 0 99 0 100 0 57 0 65 0 44 0 88 0 48 0 84 0 79 0 68 0 1 0 49 0 45 0 6 0 37 0 27 0 50 0 57 0 94 0 89 0 78 0 83 0 74 0 ...
output:
101 101 101 101 91 101 101 101 99 100 90 97 101 98 101 101 101 101 101 101 101 101 101 101 101 101 101 97 101 101 74 101 101 101 101 101 101 98 101 101 101 101 101 101 86 101 101 82 101 101 101 101 101 101 101 100 101 101 101 101 101 101 101 101 96 101 101 101 101 101 101 96 101 101 101 101 69 101 1...
result:
ok 5000 numbers
Test #8:
score: 10
Accepted
time: 13ms
memory: 7772kb
input:
5000 5000 0 67 0 31 0 488 0 622 0 899 0 560 0 910 0 362 0 699 0 251 0 644 0 276 0 926 0 840 0 440 0 566 0 997 0 771 0 579 0 107 0 467 0 289 0 448 0 482 0 632 0 120 0 480 0 699 0 621 0 251 0 689 0 213 0 930 0 371 0 0 0 590 0 711 0 387 0 73 0 466 0 430 0 847 0 201 0 63 0 64 0 234 0 265 0 133 0 697 0 3...
output:
749 415 945 338 865 820 943 812 610 883 842 947 850 985 958 617 869 978 356 969 807 739 447 945 921 901 892 492 987 823 969 449 233 983 675 834 885 236 927 932 800 627 401 914 863 73 630 954 909 860 852 31 917 863 966 914 281 770 323 959 664 810 808 739 886 979 988 773 726 249 902 714 736 761 791 88...
result:
ok 5000 numbers
Test #9:
score: 10
Accepted
time: 16ms
memory: 7888kb
input:
5000 5000 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 0 0 0 0 20 0 21 0 22 0 0 0 24 0 25 0 0 0 27 0 0 0 0 0 0 0 31 0 32 0 33 0 34 0 35 0 36 0 0 0 38 0 39 0 40 0 41 0 42 0 0 0 44 0 45 0 46 0 47 0 48 0 49 0 50 0 51 0 0 0 53 0 54 0 55 0 0 0 0 0 58 0 59 0 60 0 61 0 62 0...
output:
406 752 1297 49 190 3029 1175 1826 550 787 30 3676 1099 2402 929 2810 1655 931 172 3198 3561 2845 1688 1754 849 853 816 2603 2591 442 309 1545 211 434 368 1084 1355 1641 239 412 680 1830 421 1175 1950 3000 567 1912 2576 1674 223 2381 575 309 1763 1568 813 290 1187 1217 1381 448 910 1147 536 1058 833...
result:
ok 5000 numbers
Test #10:
score: 10
Accepted
time: 16ms
memory: 7904kb
input:
5000 5000 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 0 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 0 0 49 0 50 0 51 0 52 0 53 0 54 0 55 0 56 0 57 0 58 0 59 0 60 ...
output:
3044 1914 39 1760 154 2146 1494 2629 2354 494 1295 743 1203 1771 2288 755 1126 1008 2095 469 625 897 2206 2712 3357 3098 1488 364 1360 949 1680 2016 876 2110 1943 79 1796 2114 425 1082 2584 1384 2842 668 3879 510 1589 3110 3295 2984 1268 1399 1381 212 1626 1134 1029 4271 1227 1991 4006 873 1463 748 ...
result:
ok 5000 numbers
Test #11:
score: 10
Accepted
time: 12ms
memory: 7780kb
input:
5000 5000 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 0 0 0 0 20 0 21 0 22 0 0 0 24 0 25 0 0 0 27 0 0 0 0 0 0 0 31 0 32 0 33 0 34 0 35 0 36 0 0 0 38 0 39 0 40 0 41 0 42 0 0 0 44 0 45 0 46 0 47 0 48 0 49 0 50 0 51 0 0 0 53 0 54 0 55 0 0 0 0 0 58 0 59 0 60 0 61 0 62 0...
output:
2107 1855 3981 3461 1876 3487 2007 2882 3200 3851 2340 3687 3180 3603 2309 3727 4113 1187 196 3362 3819 3448 1765 2834 2470 2711 3443 4174 2923 1586 3779 4041 2075 1788 2375 1913 1991 2405 3176 3644 1457 1946 3752 3358 2150 3494 2273 2120 2999 3913 2110 3604 4062 1986 1877 2867 2910 3133 3677 2634 3...
result:
ok 5000 numbers
Subtask #2:
score: 0
Time Limit Exceeded
Test #12:
score: 0
Time Limit Exceeded
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:
result:
Subtask #3:
score: 0
Time Limit Exceeded
Test #22:
score: 0
Time Limit Exceeded
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:
result:
Subtask #4:
score: 0
Time Limit Exceeded
Test #32:
score: 0
Time Limit Exceeded
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:
result:
Subtask #5:
score: 0
Skipped
Dependency #1:
100%
Accepted
Dependency #2:
0%
Subtask #6:
score: 0
Skipped
Dependency #5:
0%