# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
333414 | 2020-12-05T21:54:46 Z | errorgorn | Sterilizing Spray (JOI15_sterilizing) | C++17 | 230 ms | 9068 KB |
#include <bits/stdc++.h> using namespace std; int n,q,k; int arr[100005]; set<int> s; long long fen[100005]; void update(int i,int j){ while (i<100005){ fen[i]+=j; i+=i&-i; } } long long query(int i){ long long res=0; while (i){ res+=fen[i]; i-=i&-i; } return res; } long long query(int i,int j){ return query(j)-query(i-1); } int main(){ scanf("%d%d%d",&n,&q,&k); for (int x=1;x<=n;x++){ scanf("%d",&arr[x]); if (arr[x]){ update(x,arr[x]); s.insert(x); } } int a,b; while (q--){ scanf("%d",&a); if (a==2){ scanf("%d%d",&a,&b); if (k==1) continue; for (set<int>::iterator it=s.lower_bound(a);it!=s.end() && *it<=b;){ update(*it,arr[*it]/k-arr[*it]); arr[*it]/=k; if (arr[*it]==0){ it++; s.erase(prev(it)); } else{ it++; } } } else if (a==1){ scanf("%d%d",&a,&b); update(a,b-arr[a]); arr[a]=b; s.insert(a); } else{ scanf("%d%d",&a,&b); printf("%lld\n",query(a,b)); } } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
3 | Correct | 2 ms | 492 KB | Output is correct |
4 | Correct | 5 ms | 492 KB | Output is correct |
5 | Correct | 5 ms | 620 KB | Output is correct |
6 | Correct | 4 ms | 620 KB | Output is correct |
7 | Correct | 5 ms | 620 KB | Output is correct |
8 | Correct | 5 ms | 620 KB | Output is correct |
9 | Correct | 6 ms | 620 KB | Output is correct |
10 | Correct | 5 ms | 620 KB | Output is correct |
11 | Correct | 5 ms | 652 KB | Output is correct |
12 | Correct | 5 ms | 620 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 72 ms | 4716 KB | Output is correct |
2 | Correct | 63 ms | 3692 KB | Output is correct |
3 | Correct | 65 ms | 6252 KB | Output is correct |
4 | Correct | 91 ms | 7532 KB | Output is correct |
5 | Correct | 97 ms | 7660 KB | Output is correct |
6 | Correct | 98 ms | 7660 KB | Output is correct |
7 | Correct | 97 ms | 7660 KB | Output is correct |
8 | Correct | 106 ms | 7660 KB | Output is correct |
9 | Correct | 96 ms | 7660 KB | Output is correct |
10 | Correct | 95 ms | 7768 KB | Output is correct |
11 | Correct | 100 ms | 7788 KB | Output is correct |
12 | Correct | 96 ms | 7660 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 20 ms | 1004 KB | Output is correct |
2 | Correct | 19 ms | 2156 KB | Output is correct |
3 | Correct | 23 ms | 2284 KB | Output is correct |
4 | Correct | 52 ms | 2284 KB | Output is correct |
5 | Correct | 82 ms | 5356 KB | Output is correct |
6 | Correct | 71 ms | 5356 KB | Output is correct |
7 | Correct | 76 ms | 6124 KB | Output is correct |
8 | Correct | 74 ms | 5304 KB | Output is correct |
9 | Correct | 67 ms | 5228 KB | Output is correct |
10 | Correct | 73 ms | 5228 KB | Output is correct |
11 | Correct | 67 ms | 5100 KB | Output is correct |
12 | Correct | 65 ms | 5100 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 88 ms | 4588 KB | Output is correct |
2 | Correct | 84 ms | 4588 KB | Output is correct |
3 | Correct | 106 ms | 4204 KB | Output is correct |
4 | Correct | 92 ms | 3564 KB | Output is correct |
5 | Correct | 135 ms | 8300 KB | Output is correct |
6 | Correct | 150 ms | 9068 KB | Output is correct |
7 | Correct | 132 ms | 8940 KB | Output is correct |
8 | Correct | 178 ms | 8940 KB | Output is correct |
9 | Correct | 159 ms | 8812 KB | Output is correct |
10 | Correct | 177 ms | 8812 KB | Output is correct |
11 | Correct | 139 ms | 8812 KB | Output is correct |
12 | Correct | 230 ms | 8812 KB | Output is correct |