# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1102814 | 2024-10-19T03:31:17 Z | blackslex | Growing Trees (BOI11_grow) | C++17 | 1000 ms | 2108 KB |
#include<bits/stdc++.h> #define lsb(x) (x &(-x)) using namespace std; const int N = 1e5 + 5, K = 19; int n, q, x, y, fwk[N]; char c; void upd (int idx, int val) { for (; idx <= n; idx += lsb(idx)) fwk[idx] += val; } int qr (int idx) { int res = 0; for (; idx; idx -= lsb(idx)) res += fwk[idx]; return res; } int lb (int val) { int idx = 0, res = 0; for (int i = K - 1; i >= 0; i--) { if (idx + (1 << i) <= n && res + fwk[idx + (1 << i)] < val) res += fwk[idx += (1 << i)]; } return ++idx; } int ub (int val) { int idx = 0, res = 0; for (int i = K - 1; i >= 0; i--) { if (idx + (1 << i) <= n && res + fwk[idx + (1 << i)] <= val) res += fwk[idx += (1 << i)]; } return idx; } int main() { scanf("%d %d", &n, &q); vector<int> a(n + 5); for (int i = 1; i <= n; i++) scanf("%d", &a[i]); sort(a.begin() + 1, a.begin() + n + 1); for (int i = 1; i <= n; i++) upd(i, a[i] - a[i - 1]); while (q--) { scanf(" %c %d %d", &c, &x, &y); if (c == 'F') { int k = lb(y); int cqr = qr(k + x - 1); int clb = lb(cqr), cub = ub(cqr); int al = clb - k; int req = x - al; upd(k, 1); upd(clb, -1); upd(cub - req + 1, 1), upd(cub + 1, -1); } else { int clb = lb(x), cub = ub(min(y, qr(n))); printf("%d\n", cub - clb + 1); } } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 36 ms | 1204 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 336 KB | Output is correct |
2 | Correct | 1 ms | 336 KB | Output is correct |
3 | Runtime error | 2 ms | 504 KB | Execution killed with signal 11 |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 29 ms | 592 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 2 ms | 592 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 12 ms | 1616 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 10 ms | 1616 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1063 ms | 848 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 14 ms | 1872 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 42 ms | 1208 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 16 ms | 2108 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |