# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
153112 | 2019-09-12T12:53:48 Z | karma | Sterilizing Spray (JOI15_sterilizing) | C++14 | 242 ms | 9184 KB |
#include<bits/stdc++.h> #pragma GCC optimize("O3") #define ll long long #define pb emplace_back using namespace std; const int N = int(1e5) + 2; int n, q, k, a[N], irene, cmd, x, y; ll t[N]; set<int> s; vector<int> rmv; void Update(int x, int val) { for(; x <= n; x += (x & -x)) t[x] += val; } ll Query(int x) { ll res = 0; for(; x > 0; x -= (x & -x)) res += t[x]; return res; } int main() { ios_base::sync_with_stdio(0); cin.tie(0), cout.tie(0); if(fopen("test.inp", "r")) { freopen("test.inp", "r", stdin); freopen("test.out", "w", stdout); } cin >> n >> q >> k; for(int i = 1; i <= n; ++i) { cin >> a[i]; Update(i, a[i]); if(a[i]) s.insert(i); } rmv.clear(); while(q --) { cin >> cmd >> x >> y; if(cmd == 1) { if(y && !a[x]) s.insert(x); Update(x, y - a[x]); a[x] = y; } else if(cmd == 2) { if(k == 1) continue; auto ptr = s.lower_bound(x); while(*ptr >= x && *ptr <= y && ptr != s.end()) { irene = a[*ptr] / k; Update(*ptr, irene - a[*ptr]); if(!irene) rmv.pb(*ptr); a[*ptr] = irene, ptr = next(ptr); } while(rmv.size()) s.erase(rmv.back()), rmv.pop_back(); } else cout << Query(y) - Query(x - 1) << '\n'; } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 376 KB | Output is correct |
2 | Correct | 3 ms | 504 KB | Output is correct |
3 | Correct | 4 ms | 504 KB | Output is correct |
4 | Correct | 6 ms | 504 KB | Output is correct |
5 | Correct | 6 ms | 632 KB | Output is correct |
6 | Correct | 6 ms | 632 KB | Output is correct |
7 | Correct | 6 ms | 632 KB | Output is correct |
8 | Correct | 6 ms | 632 KB | Output is correct |
9 | Correct | 6 ms | 504 KB | Output is correct |
10 | Correct | 6 ms | 632 KB | Output is correct |
11 | Correct | 6 ms | 636 KB | Output is correct |
12 | Correct | 6 ms | 632 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 59 ms | 4728 KB | Output is correct |
2 | Correct | 48 ms | 4268 KB | Output is correct |
3 | Correct | 61 ms | 6904 KB | Output is correct |
4 | Correct | 78 ms | 8568 KB | Output is correct |
5 | Correct | 88 ms | 9176 KB | Output is correct |
6 | Correct | 87 ms | 9184 KB | Output is correct |
7 | Correct | 88 ms | 9080 KB | Output is correct |
8 | Correct | 86 ms | 9080 KB | Output is correct |
9 | Correct | 193 ms | 8952 KB | Output is correct |
10 | Correct | 87 ms | 9080 KB | Output is correct |
11 | Correct | 85 ms | 9024 KB | Output is correct |
12 | Correct | 85 ms | 9016 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 18 ms | 1016 KB | Output is correct |
2 | Correct | 19 ms | 2296 KB | Output is correct |
3 | Correct | 23 ms | 2424 KB | Output is correct |
4 | Correct | 43 ms | 1656 KB | Output is correct |
5 | Correct | 75 ms | 4508 KB | Output is correct |
6 | Correct | 72 ms | 4368 KB | Output is correct |
7 | Correct | 68 ms | 5388 KB | Output is correct |
8 | Correct | 70 ms | 5368 KB | Output is correct |
9 | Correct | 69 ms | 5524 KB | Output is correct |
10 | Correct | 66 ms | 5492 KB | Output is correct |
11 | Correct | 66 ms | 5636 KB | Output is correct |
12 | Correct | 65 ms | 5536 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 87 ms | 3960 KB | Output is correct |
2 | Correct | 91 ms | 3960 KB | Output is correct |
3 | Correct | 106 ms | 3548 KB | Output is correct |
4 | Correct | 95 ms | 2936 KB | Output is correct |
5 | Correct | 166 ms | 7004 KB | Output is correct |
6 | Correct | 169 ms | 6904 KB | Output is correct |
7 | Correct | 147 ms | 7032 KB | Output is correct |
8 | Correct | 197 ms | 7004 KB | Output is correct |
9 | Correct | 171 ms | 7324 KB | Output is correct |
10 | Correct | 187 ms | 7284 KB | Output is correct |
11 | Correct | 153 ms | 7332 KB | Output is correct |
12 | Correct | 242 ms | 7260 KB | Output is correct |