# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
219730 | 2020-04-06T06:57:39 Z | MKopchev | Foehn Phenomena (JOI17_foehn_phenomena) | C++14 | 209 ms | 12408 KB |
#include<bits/stdc++.h> using namespace std; const int nmax=2e5+42; int n,q,s,t; long long fenwick[nmax]; void update(int pos,int val) { while(pos<=n) { fenwick[pos]+=val; pos=pos+(pos&(-pos)); } } void upd(int l,int r,int val) { update(l,val); update(r+1,-val); } long long query(int pos) { long long ret=0; while(pos) { ret=ret+fenwick[pos]; pos=pos-(pos&(-pos)); } return ret; } long long score(int pos) { if(pos==n)return 0; long long was=query(pos),is=query(pos+1); if(was<is)return (was-is)*s; return (was-is)*t; } int inp[nmax]; int main() { scanf("%i%i%i%i",&n,&q,&s,&t); for(int i=0;i<=n;i++) { scanf("%i",&inp[i]); if(i)upd(i,i,inp[i]); } long long ret=0; for(int i=0;i<n;i++) ret=ret+score(i); for(int i=1;i<=q;i++) { int l,r,x; scanf("%i%i%i",&l,&r,&x); ret=ret-score(l-1)-score(r); upd(l,r,x); ret=ret+score(l-1)+score(r); printf("%lld\n",ret); } return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 6 ms | 384 KB | Output is correct |
2 | Correct | 6 ms | 384 KB | Output is correct |
3 | Correct | 6 ms | 512 KB | Output is correct |
4 | Correct | 7 ms | 512 KB | Output is correct |
5 | Correct | 6 ms | 512 KB | Output is correct |
6 | Correct | 7 ms | 384 KB | Output is correct |
7 | Correct | 6 ms | 512 KB | Output is correct |
8 | Correct | 6 ms | 512 KB | Output is correct |
9 | Correct | 6 ms | 384 KB | Output is correct |
10 | Correct | 6 ms | 384 KB | Output is correct |
11 | Correct | 6 ms | 384 KB | Output is correct |
12 | Correct | 6 ms | 512 KB | Output is correct |
13 | Correct | 6 ms | 384 KB | Output is correct |
14 | Correct | 6 ms | 512 KB | Output is correct |
15 | Correct | 6 ms | 512 KB | Output is correct |
16 | Correct | 7 ms | 384 KB | Output is correct |
17 | Correct | 6 ms | 384 KB | Output is correct |
18 | Correct | 6 ms | 512 KB | Output is correct |
19 | Correct | 5 ms | 384 KB | Output is correct |
20 | Correct | 4 ms | 384 KB | Output is correct |
21 | Correct | 4 ms | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 200 ms | 9536 KB | Output is correct |
2 | Correct | 209 ms | 10104 KB | Output is correct |
3 | Correct | 203 ms | 10872 KB | Output is correct |
4 | Correct | 184 ms | 10104 KB | Output is correct |
5 | Correct | 194 ms | 11384 KB | Output is correct |
6 | Correct | 159 ms | 10360 KB | Output is correct |
7 | Correct | 153 ms | 10232 KB | Output is correct |
8 | Correct | 191 ms | 11256 KB | Output is correct |
9 | Correct | 196 ms | 11384 KB | Output is correct |
10 | Correct | 201 ms | 10232 KB | Output is correct |
11 | Correct | 143 ms | 10232 KB | Output is correct |
12 | Correct | 146 ms | 10872 KB | Output is correct |
13 | Correct | 143 ms | 11128 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 6 ms | 384 KB | Output is correct |
2 | Correct | 6 ms | 384 KB | Output is correct |
3 | Correct | 6 ms | 512 KB | Output is correct |
4 | Correct | 7 ms | 512 KB | Output is correct |
5 | Correct | 6 ms | 512 KB | Output is correct |
6 | Correct | 7 ms | 384 KB | Output is correct |
7 | Correct | 6 ms | 512 KB | Output is correct |
8 | Correct | 6 ms | 512 KB | Output is correct |
9 | Correct | 6 ms | 384 KB | Output is correct |
10 | Correct | 6 ms | 384 KB | Output is correct |
11 | Correct | 6 ms | 384 KB | Output is correct |
12 | Correct | 6 ms | 512 KB | Output is correct |
13 | Correct | 6 ms | 384 KB | Output is correct |
14 | Correct | 6 ms | 512 KB | Output is correct |
15 | Correct | 6 ms | 512 KB | Output is correct |
16 | Correct | 7 ms | 384 KB | Output is correct |
17 | Correct | 6 ms | 384 KB | Output is correct |
18 | Correct | 6 ms | 512 KB | Output is correct |
19 | Correct | 5 ms | 384 KB | Output is correct |
20 | Correct | 4 ms | 384 KB | Output is correct |
21 | Correct | 4 ms | 384 KB | Output is correct |
22 | Correct | 200 ms | 9536 KB | Output is correct |
23 | Correct | 209 ms | 10104 KB | Output is correct |
24 | Correct | 203 ms | 10872 KB | Output is correct |
25 | Correct | 184 ms | 10104 KB | Output is correct |
26 | Correct | 194 ms | 11384 KB | Output is correct |
27 | Correct | 159 ms | 10360 KB | Output is correct |
28 | Correct | 153 ms | 10232 KB | Output is correct |
29 | Correct | 191 ms | 11256 KB | Output is correct |
30 | Correct | 196 ms | 11384 KB | Output is correct |
31 | Correct | 201 ms | 10232 KB | Output is correct |
32 | Correct | 143 ms | 10232 KB | Output is correct |
33 | Correct | 146 ms | 10872 KB | Output is correct |
34 | Correct | 143 ms | 11128 KB | Output is correct |
35 | Correct | 199 ms | 9720 KB | Output is correct |
36 | Correct | 206 ms | 11260 KB | Output is correct |
37 | Correct | 208 ms | 11896 KB | Output is correct |
38 | Correct | 207 ms | 11768 KB | Output is correct |
39 | Correct | 201 ms | 11640 KB | Output is correct |
40 | Correct | 207 ms | 11644 KB | Output is correct |
41 | Correct | 209 ms | 11516 KB | Output is correct |
42 | Correct | 204 ms | 11640 KB | Output is correct |
43 | Correct | 205 ms | 11028 KB | Output is correct |
44 | Correct | 203 ms | 11256 KB | Output is correct |
45 | Correct | 196 ms | 11512 KB | Output is correct |
46 | Correct | 192 ms | 12408 KB | Output is correct |
47 | Correct | 158 ms | 10872 KB | Output is correct |
48 | Correct | 161 ms | 10876 KB | Output is correct |
49 | Correct | 180 ms | 9976 KB | Output is correct |
50 | Correct | 149 ms | 10744 KB | Output is correct |
51 | Correct | 144 ms | 11128 KB | Output is correct |
52 | Correct | 157 ms | 10872 KB | Output is correct |