# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1102808 | 2024-10-19T03:04:23 Z | blackslex | Growing Trees (BOI11_grow) | C++17 | 33 ms | 2900 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); int clb = lb(cqr), cub = ub(cqr); int al = clb - k; upd(k, 1); upd(clb, -1); if (al < x) upd(cub - al + 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
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 33 ms | 2308 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 340 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 30 ms | 1544 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 30 ms | 1716 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 13 ms | 1876 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 10 ms | 2124 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 10 ms | 2144 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 21 ms | 2388 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 14 ms | 2420 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 24 ms | 2900 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |