QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#416497 | #8672. 排队 | mfeitveer | 15 | 169ms | 53464kb | C++14 | 1.9kb | 2024-05-21 21:46:22 | 2024-05-21 21:46:22 |
Judging History
answer
/*
! Though life is hard, I want it to be boiling.
! Created: 2024/05/21 20:49:33
*/
#include <bits/stdc++.h>
using namespace std;
#define x first
#define y second
// #define int long long
#define mp(x, y) make_pair(x, y)
#define eb(...) emplace_back(__VA_ARGS__)
#define fro(i, x, y) for (int i = (x); i <= (y); i++)
#define pre(i, x, y) for (int i = (x); i >= (y); i--)
inline void JYFILE19();
typedef long long i64;
typedef pair<int, int> PII;
bool ST;
const int N = 1e6 + 10;
const int mod = 998244353;
int n, m, t[N], L[N], R[N], ls[N], rs[N], ans[N];
vector<int> to[N];
inline int lb(int x) { return x & (-x); }
inline void upd(int x, int k) { while (x <= n) t[x] += k, x += lb(x); }
inline int ask(int x) { int r = 0; while (x) r += t[x], x -= lb(x); return r; }
inline void clr() { memset(t, 0, sizeof t); }
signed main() {
JYFILE19();
cin >> n >> m;
fro(i, 1, n) {
int x, y, l, r, num;
cin >> x >> y;
l = 1, r = i, num = i;
while (l <= r) {
int mid = (l + r) >> 1, sum = ask(mid);
if (x <= sum) num = mid, l = mid + 1;
else r = mid - 1;
}
rs[i] = num;
l = 1, r = i, num = i + 1;
while (l <= r) {
int mid = (l + r) >> 1, sum = ask(mid);
if (sum <= y) num = mid, r = mid - 1;
else l = mid + 1;
}
ls[i] = num;
upd(ls[i], 1), upd(rs[i] + 1, -1);
}
clr();
fro(i, 1, m) cin >> L[i] >> R[i], to[R[i]].eb(i);
fro(i, 1, n) {
upd(ls[i], 1), upd(rs[i] + 1, -1);
for (auto j : to[i]) {
ans[j] = ask(L[j]);
}
}
fro(i, 1, m) cout << ans[i] << "\n";
return 0;
}
bool ED;
inline void JYFILE19() {
// freopen("", "r", stdin);
// freopen("", "w", stdout);
srand(random_device{}());
ios::sync_with_stdio(0), cin.tie(0);
double MIB = fabs((&ED - &ST) / 1048576.), LIM = 512;
cerr << "MEMORY: " << MIB << endl, assert(MIB <= LIM);
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 10
Accepted
time: 3ms
memory: 41112kb
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
Accepted
time: 8ms
memory: 43196kb
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
Wrong Answer
time: 0ms
memory: 41772kb
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 96 101 99 101 101 7 101 95 10...
result:
wrong answer 72nd numbers differ - expected: '46', found: '96'
Subtask #2:
score: 0
Wrong Answer
Test #12:
score: 0
Wrong Answer
time: 169ms
memory: 53464kb
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:
wrong answer 1957th numbers differ - expected: '1', found: '8'
Subtask #3:
score: 15
Accepted
Test #22:
score: 15
Accepted
time: 140ms
memory: 53280kb
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:
ok 200000 numbers
Test #23:
score: 0
Accepted
time: 139ms
memory: 49424kb
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:
168949 95410 33682 47935 82249 25613 65578 22342 60917 30684 99457 21252 87719 9508 41909 17405 96346 6219 110867 56725 71026 2090 45186 37640 26229 36720 91410 64919 7095 29903 44679 40307 100104 41603 87434 53924 53758 80720 59404 164539 38810 117092 13565 110110 38606 32273 93240 81294 10356 1504...
result:
ok 200000 numbers
Test #24:
score: 0
Accepted
time: 132ms
memory: 50980kb
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:
69217 146306 97579 32894 129999 10418 98425 25273 33368 29464 14306 2073 112582 140228 24801 40781 52137 17338 110491 48418 54730 20451 84100 80588 2089 108163 29975 56448 14978 35560 102453 18613 30516 18699 83182 28795 25862 126187 116576 99593 36207 13935 27150 75205 66741 91089 151786 19917 2529...
result:
ok 200000 numbers
Test #25:
score: 0
Accepted
time: 155ms
memory: 44100kb
input:
200000 200000 0 5 0 99 0 23 0 88 0 62 0 24 0 80 0 70 0 45 0 55 0 99 0 91 0 82 0 99 0 47 0 80 0 9 0 4 0 51 0 64 0 52 0 2 0 2 0 81 0 98 0 36 0 27 0 34 0 97 0 22 0 89 0 77 0 89 0 25 0 90 0 91 0 77 0 37 0 89 0 52 0 58 0 18 0 81 0 35 0 56 0 71 0 18 0 56 0 74 0 40 0 76 0 47 0 87 0 11 0 81 0 48 0 59 0 17 0...
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 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 ...
result:
ok 200000 numbers
Test #26:
score: 0
Accepted
time: 167ms
memory: 43760kb
input:
200000 200000 0 193 0 229 0 553 0 197 0 718 0 370 0 853 0 695 0 764 0 571 0 714 0 700 0 692 0 293 0 962 0 536 0 482 0 148 0 804 0 864 0 925 0 864 0 296 0 757 0 283 0 338 0 746 0 447 0 365 0 390 0 689 0 239 0 60 0 388 0 822 0 836 0 373 0 703 0 107 0 894 0 468 0 125 0 851 0 568 0 914 0 391 0 759 0 66 ...
output:
1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 986 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 834 1001 999 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 995 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 #27:
score: 0
Accepted
time: 162ms
memory: 53052kb
input:
200000 200000 0 7698 0 6154 0 6707 0 7442 0 9621 0 8045 0 8938 0 5518 0 4134 0 3188 0 8054 0 5380 0 2409 0 3360 0 2771 0 9642 0 8264 0 4305 0 2844 0 7810 0 4706 0 1462 0 6282 0 2481 0 2987 0 3633 0 2634 0 4866 0 5079 0 2325 0 4394 0 8361 0 322 0 2614 0 7668 0 9067 0 452 0 2834 0 3340 0 2193 0 4070 0...
output:
9992 10001 10001 10000 10001 10001 9910 9932 2155 6995 10001 9347 10001 10001 10000 8952 9997 10000 9996 9999 10001 9996 10001 10000 9949 8842 9944 10000 10000 6517 9719 7997 10001 9875 10000 10001 10001 10001 10001 7481 10001 564 9962 8180 10001 7708 9902 9995 6677 10000 10000 9993 9841 6942 9584 1...
result:
ok 200000 numbers
Test #28:
score: 0
Accepted
time: 163ms
memory: 50948kb
input:
200000 200000 0 44932 0 12196 0 776 0 35673 0 44618 0 16521 0 9747 0 42216 0 21955 0 3389 0 22 0 15248 0 5734 0 45217 0 47977 0 8869 0 25942 0 3415 0 40771 0 28517 0 29726 0 13420 0 30474 0 44930 0 10541 0 4648 0 26903 0 19507 0 2998 0 24757 0 10645 0 47790 0 25779 0 41892 0 37322 0 34913 0 36562 0 ...
output:
48090 32992 22437 48207 21332 45359 39653 11005 43989 17371 8176 34898 30342 43305 36171 34310 36953 26580 26406 40517 30042 24009 21601 48636 34590 44645 6569 1680 36941 44685 8184 29538 47471 13134 37634 44021 16542 45480 34004 2798 44629 42393 43534 32749 42758 39005 46942 906 35042 32188 39406 4...
result:
ok 200000 numbers
Test #29:
score: 0
Accepted
time: 152ms
memory: 48704kb
input:
200000 200000 0 17611 0 59430 0 23731 0 61357 0 32905 0 30945 0 53122 0 18775 0 25563 0 43076 0 23316 0 71711 0 16622 0 27384 0 9838 0 81042 0 85530 0 32497 0 12816 0 55180 0 2256 0 81719 0 61844 0 64533 0 5302 0 33711 0 18419 0 98385 0 48813 0 58297 0 63392 0 29066 0 12542 0 14198 0 27695 0 23110 0...
output:
20413 33643 27062 9573 23562 70288 46728 62984 61505 69707 52256 43819 42924 84768 46751 32254 29961 25002 61760 47063 54538 23381 4229 40146 56797 35682 73141 55198 81237 4145 14779 79432 46593 8554 55961 48948 59145 73439 77423 43568 51349 68840 23328 1413 10825 33789 61183 12488 53414 60374 77583...
result:
ok 200000 numbers
Test #30:
score: 0
Accepted
time: 160ms
memory: 45684kb
input:
200000 200000 0 19 0 50 0 16 0 8 0 27 0 35 0 43 0 42 0 8 0 45 0 39 0 16 0 23 0 29 0 10 0 10 0 50 0 23 0 50 0 45 0 16 0 17 0 30 0 17 0 35 0 50 0 2 0 15 0 33 0 41 0 38 0 12 0 2 0 5 0 37 0 11 0 26 0 35 0 25 0 12 0 38 0 28 0 5 0 46 0 46 0 39 0 26 0 36 0 22 0 9 0 1 0 45 0 36 0 6 0 15 0 31 0 2 0 3 0 0 0 4...
output:
51 51 51 51 51 51 51 51 51 27 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 ...
result:
ok 200000 numbers
Test #31:
score: 0
Accepted
time: 149ms
memory: 43932kb
input:
200000 200000 0 3 0 3 0 10 0 1 0 7 0 6 0 6 0 4 0 8 0 0 0 5 0 4 0 8 0 7 0 5 0 0 0 1 0 9 0 1 0 1 0 3 0 7 0 10 0 9 0 4 0 6 0 6 0 1 0 5 0 7 0 8 0 1 0 0 0 8 0 9 0 7 0 8 0 7 0 2 0 8 0 6 0 6 0 5 0 7 0 2 0 0 0 6 0 7 0 5 0 3 0 3 0 10 0 3 0 0 0 3 0 3 0 9 0 0 0 7 0 2 0 10 0 10 0 10 0 3 0 2 0 5 0 9 0 1 0 1 0 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
Subtask #4:
score: 0
Wrong Answer
Test #32:
score: 15
Accepted
time: 129ms
memory: 53380kb
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
Wrong Answer
time: 131ms
memory: 47604kb
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:
wrong answer 78710th numbers differ - expected: '149749', found: '149750'
Subtask #5:
score: 0
Skipped
Dependency #1:
0%
Subtask #6:
score: 0
Skipped
Dependency #5:
0%