# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
233747 | 2020-05-21T16:09:25 Z | duality | Fire (JOI20_ho_t5) | C++11 | 1000 ms | 15096 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; 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[d]-pre[queries[i].L]; int e = max(d,queries[i].L); for (j = queries[i].R; j >= e; 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 | 5 ms | 384 KB | Output is correct |
2 | Incorrect | 5 ms | 384 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Execution timed out | 1086 ms | 11628 KB | Time limit exceeded |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Incorrect | 185 ms | 15096 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1095 ms | 11256 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Incorrect | 5 ms | 384 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |