# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
61030 | 2018-07-25T06:14:49 Z | gusfring | Foehn Phenomena (JOI17_foehn_phenomena) | C++14 | 353 ms | 162632 KB |
#include <bits/stdc++.h> using namespace std; const int MAXN = 2e5 + 5; typedef long long ll; ll bit[MAXN], A[MAXN], result; int N, Q, S, T; void updateP(int pos, int v){ while(pos <= N){ bit[pos] += v; pos += (pos&(-pos)); } } void update(int lo, int hi, int v){ updateP(lo, v); updateP(hi + 1, -v); } ll query(int pos){ ll res = A[pos]; for(; pos>0; pos-=(pos&(-pos))) res += bit[pos]; return res; } ll val(ll a, ll b){ if(a < b) return (a - b) * S; return (a - b) * T; } int main(){ scanf("%d %d %d %d", &N, &Q, &S, &T); for(int i=0; i<=N; ++i) scanf("%lld", &A[i]); for(int i=0; i<N; ++i) result += val(A[i], A[i + 1]); while(Q--){ int l, r, v; scanf("%d %d %d", &l, &r, &v); result -= val(query(l - 1), query(l)); if(r < N) result -= val(query(r), query(r + 1)); update(l, r, v); result += val(query(l - 1), query(l)); if(r < N) result += val(query(r), query(r + 1)); printf("%lld\n", result); } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 376 KB | Output is correct |
2 | Correct | 7 ms | 548 KB | Output is correct |
3 | Correct | 5 ms | 652 KB | Output is correct |
4 | Correct | 5 ms | 652 KB | Output is correct |
5 | Correct | 4 ms | 812 KB | Output is correct |
6 | Correct | 6 ms | 812 KB | Output is correct |
7 | Correct | 6 ms | 968 KB | Output is correct |
8 | Correct | 4 ms | 976 KB | Output is correct |
9 | Correct | 5 ms | 1024 KB | Output is correct |
10 | Correct | 5 ms | 1068 KB | Output is correct |
11 | Correct | 5 ms | 1116 KB | Output is correct |
12 | Correct | 6 ms | 1168 KB | Output is correct |
13 | Correct | 5 ms | 1232 KB | Output is correct |
14 | Correct | 5 ms | 1280 KB | Output is correct |
15 | Correct | 5 ms | 1448 KB | Output is correct |
16 | Correct | 6 ms | 1472 KB | Output is correct |
17 | Correct | 5 ms | 1472 KB | Output is correct |
18 | Correct | 5 ms | 1488 KB | Output is correct |
19 | Correct | 2 ms | 1532 KB | Output is correct |
20 | Correct | 3 ms | 1592 KB | Output is correct |
21 | Correct | 3 ms | 1596 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 299 ms | 6168 KB | Output is correct |
2 | Correct | 258 ms | 12136 KB | Output is correct |
3 | Correct | 326 ms | 18136 KB | Output is correct |
4 | Correct | 353 ms | 22924 KB | Output is correct |
5 | Correct | 304 ms | 29736 KB | Output is correct |
6 | Correct | 202 ms | 33340 KB | Output is correct |
7 | Correct | 155 ms | 37876 KB | Output is correct |
8 | Correct | 277 ms | 44960 KB | Output is correct |
9 | Correct | 256 ms | 50792 KB | Output is correct |
10 | Correct | 231 ms | 55084 KB | Output is correct |
11 | Correct | 156 ms | 58932 KB | Output is correct |
12 | Correct | 212 ms | 64188 KB | Output is correct |
13 | Correct | 152 ms | 69304 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 376 KB | Output is correct |
2 | Correct | 7 ms | 548 KB | Output is correct |
3 | Correct | 5 ms | 652 KB | Output is correct |
4 | Correct | 5 ms | 652 KB | Output is correct |
5 | Correct | 4 ms | 812 KB | Output is correct |
6 | Correct | 6 ms | 812 KB | Output is correct |
7 | Correct | 6 ms | 968 KB | Output is correct |
8 | Correct | 4 ms | 976 KB | Output is correct |
9 | Correct | 5 ms | 1024 KB | Output is correct |
10 | Correct | 5 ms | 1068 KB | Output is correct |
11 | Correct | 5 ms | 1116 KB | Output is correct |
12 | Correct | 6 ms | 1168 KB | Output is correct |
13 | Correct | 5 ms | 1232 KB | Output is correct |
14 | Correct | 5 ms | 1280 KB | Output is correct |
15 | Correct | 5 ms | 1448 KB | Output is correct |
16 | Correct | 6 ms | 1472 KB | Output is correct |
17 | Correct | 5 ms | 1472 KB | Output is correct |
18 | Correct | 5 ms | 1488 KB | Output is correct |
19 | Correct | 2 ms | 1532 KB | Output is correct |
20 | Correct | 3 ms | 1592 KB | Output is correct |
21 | Correct | 3 ms | 1596 KB | Output is correct |
22 | Correct | 299 ms | 6168 KB | Output is correct |
23 | Correct | 258 ms | 12136 KB | Output is correct |
24 | Correct | 326 ms | 18136 KB | Output is correct |
25 | Correct | 353 ms | 22924 KB | Output is correct |
26 | Correct | 304 ms | 29736 KB | Output is correct |
27 | Correct | 202 ms | 33340 KB | Output is correct |
28 | Correct | 155 ms | 37876 KB | Output is correct |
29 | Correct | 277 ms | 44960 KB | Output is correct |
30 | Correct | 256 ms | 50792 KB | Output is correct |
31 | Correct | 231 ms | 55084 KB | Output is correct |
32 | Correct | 156 ms | 58932 KB | Output is correct |
33 | Correct | 212 ms | 64188 KB | Output is correct |
34 | Correct | 152 ms | 69304 KB | Output is correct |
35 | Correct | 284 ms | 74212 KB | Output is correct |
36 | Correct | 310 ms | 80876 KB | Output is correct |
37 | Correct | 319 ms | 87140 KB | Output is correct |
38 | Correct | 300 ms | 92352 KB | Output is correct |
39 | Correct | 345 ms | 97820 KB | Output is correct |
40 | Correct | 289 ms | 103276 KB | Output is correct |
41 | Correct | 270 ms | 108444 KB | Output is correct |
42 | Correct | 328 ms | 114044 KB | Output is correct |
43 | Correct | 274 ms | 118632 KB | Output is correct |
44 | Correct | 308 ms | 124356 KB | Output is correct |
45 | Correct | 287 ms | 129984 KB | Output is correct |
46 | Correct | 306 ms | 136656 KB | Output is correct |
47 | Correct | 186 ms | 139692 KB | Output is correct |
48 | Correct | 184 ms | 144308 KB | Output is correct |
49 | Correct | 272 ms | 149296 KB | Output is correct |
50 | Correct | 168 ms | 153000 KB | Output is correct |
51 | Correct | 175 ms | 158112 KB | Output is correct |
52 | Correct | 200 ms | 162632 KB | Output is correct |