# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
233750 | 2020-05-21T16:17:19 Z | duality | Fire (JOI20_ho_t5) | C++11 | 1000 ms | 9340 KB |
#include <bits/stdc++.h> using namespace std; #define mp make_pair #define pb push_back typedef long long int LLI; typedef vector<int> vi; typedef pair<int,int> pii; typedef vector<pii> vpii; #pragma GCC optimize("Ofast") #pragma GCC target("avx,avx2,fma") int S[200000]; LLI pre[200001]; struct query { int T,L,R,i; }; bool comp(query a,query b) { return a.T < b.T; } query queries[200000]; LLI ans[200000]; int main() { int i; int N,Q,T,L,R; scanf("%d %d",&N,&Q); for (i = 0; i < N; i++) scanf("%d",&S[i]); for (i = 0; i < Q; i++) { scanf("%d %d %d",&T,&L,&R); queries[i] = (query){T+1,L-1,R-1,i}; } sort(queries,queries+Q,comp); int j,c = 1; for (i = 0; i < Q; i++) { while (queries[i].T >= 2*c) { for (j = N-1; j >= c; j--) S[j] = max(S[j],S[j-c]); for (j = 0; j < N; j++) pre[j+1] = pre[j]+S[j]; c *= 2; } LLI a = 0; int d = queries[i].T-c; if (d > queries[i].L) a += pre[min(d,queries[i].R+1)]-pre[queries[i].L]; int e = max(d,queries[i].L); if (e <= queries[i].R) { int *p = S+e,*q = S+(e-d); int t = queries[i].R-e+1; for (j = 0; j < t; j++) { a += (*p > *q) ? *p:*q; p++,q++; } //for (j = e; j <= queries[i].R; j++) a += max(S[j],S[j-d]); } ans[queries[i].i] = a; } for (i = 0; i < Q; i++) printf("%lld\n",ans[i]); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 384 KB | Output is correct |
2 | Correct | 5 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 384 KB | Output is correct |
4 | Correct | 4 ms | 384 KB | Output is correct |
5 | Correct | 4 ms | 384 KB | Output is correct |
6 | Correct | 5 ms | 384 KB | Output is correct |
7 | Correct | 5 ms | 384 KB | Output is correct |
8 | Correct | 5 ms | 384 KB | Output is correct |
9 | Correct | 5 ms | 384 KB | Output is correct |
10 | Correct | 5 ms | 384 KB | Output is correct |
11 | Correct | 5 ms | 384 KB | Output is correct |
12 | Correct | 5 ms | 384 KB | Output is correct |
13 | Correct | 5 ms | 384 KB | Output is correct |
14 | Correct | 5 ms | 384 KB | Output is correct |
15 | Correct | 5 ms | 384 KB | Output is correct |
16 | Correct | 5 ms | 384 KB | Output is correct |
17 | Correct | 5 ms | 384 KB | Output is correct |
18 | Correct | 5 ms | 384 KB | Output is correct |
19 | Correct | 5 ms | 384 KB | Output is correct |
20 | Correct | 5 ms | 384 KB | Output is correct |
21 | Correct | 5 ms | 384 KB | Output is correct |
22 | Correct | 5 ms | 384 KB | Output is correct |
23 | Correct | 5 ms | 384 KB | Output is correct |
24 | Correct | 5 ms | 384 KB | Output is correct |
25 | Correct | 5 ms | 384 KB | Output is correct |
26 | Correct | 5 ms | 384 KB | Output is correct |
27 | Correct | 5 ms | 384 KB | Output is correct |
28 | Correct | 5 ms | 384 KB | Output is correct |
29 | Correct | 5 ms | 384 KB | Output is correct |
30 | Correct | 5 ms | 384 KB | Output is correct |
31 | Correct | 5 ms | 384 KB | Output is correct |
32 | Correct | 4 ms | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 384 KB | Output is correct |
2 | Execution timed out | 1087 ms | 6452 KB | Time limit exceeded |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 384 KB | Output is correct |
2 | Correct | 168 ms | 9336 KB | Output is correct |
3 | Correct | 162 ms | 9212 KB | Output is correct |
4 | Correct | 167 ms | 9336 KB | Output is correct |
5 | Correct | 162 ms | 8976 KB | Output is correct |
6 | Correct | 167 ms | 9080 KB | Output is correct |
7 | Correct | 164 ms | 9132 KB | Output is correct |
8 | Correct | 170 ms | 9336 KB | Output is correct |
9 | Correct | 163 ms | 9208 KB | Output is correct |
10 | Correct | 167 ms | 9080 KB | Output is correct |
11 | Correct | 169 ms | 9336 KB | Output is correct |
12 | Correct | 161 ms | 9080 KB | Output is correct |
13 | Correct | 169 ms | 9340 KB | Output is correct |
14 | Correct | 165 ms | 9080 KB | Output is correct |
15 | Correct | 168 ms | 9208 KB | Output is correct |
16 | Correct | 163 ms | 9080 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1092 ms | 7160 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 384 KB | Output is correct |
2 | Correct | 5 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 384 KB | Output is correct |
4 | Correct | 4 ms | 384 KB | Output is correct |
5 | Correct | 4 ms | 384 KB | Output is correct |
6 | Correct | 5 ms | 384 KB | Output is correct |
7 | Correct | 5 ms | 384 KB | Output is correct |
8 | Correct | 5 ms | 384 KB | Output is correct |
9 | Correct | 5 ms | 384 KB | Output is correct |
10 | Correct | 5 ms | 384 KB | Output is correct |
11 | Correct | 5 ms | 384 KB | Output is correct |
12 | Correct | 5 ms | 384 KB | Output is correct |
13 | Correct | 5 ms | 384 KB | Output is correct |
14 | Correct | 5 ms | 384 KB | Output is correct |
15 | Correct | 5 ms | 384 KB | Output is correct |
16 | Correct | 5 ms | 384 KB | Output is correct |
17 | Correct | 5 ms | 384 KB | Output is correct |
18 | Correct | 5 ms | 384 KB | Output is correct |
19 | Correct | 5 ms | 384 KB | Output is correct |
20 | Correct | 5 ms | 384 KB | Output is correct |
21 | Correct | 5 ms | 384 KB | Output is correct |
22 | Correct | 5 ms | 384 KB | Output is correct |
23 | Correct | 5 ms | 384 KB | Output is correct |
24 | Correct | 5 ms | 384 KB | Output is correct |
25 | Correct | 5 ms | 384 KB | Output is correct |
26 | Correct | 5 ms | 384 KB | Output is correct |
27 | Correct | 5 ms | 384 KB | Output is correct |
28 | Correct | 5 ms | 384 KB | Output is correct |
29 | Correct | 5 ms | 384 KB | Output is correct |
30 | Correct | 5 ms | 384 KB | Output is correct |
31 | Correct | 5 ms | 384 KB | Output is correct |
32 | Correct | 4 ms | 384 KB | Output is correct |
33 | Execution timed out | 1085 ms | 7136 KB | Time limit exceeded |
34 | Halted | 0 ms | 0 KB | - |