# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
224142 | 2020-04-17T08:48:53 Z | jamielim | Fire (JOI20_ho_t5) | C++14 | 5 ms | 640 KB |
#include <bits/stdc++.h> using namespace std; struct node{ int s,e,m; long long mx,sm; node *l,*r; node(int S,int E){ s=S;e=E;m=(s+e)/2;mx=sm=0; if(s!=e){ l=new node(s,m); r=new node(m+1,e); } } void upd(int x,long long nv){ if(s==e){mx=nv;sm=nv;return;} if(x<=m)l->upd(x,nv); else r->upd(x,nv); mx=max(l->mx,r->mx); sm=l->sm+r->sm; } long long mq(int x,int y){ if(s==x&&e==y)return mx; if(y<=m)return l->mq(x,y); if(x>m)return r->mq(x,y); return max(l->mq(x,m),r->mq(m+1,y)); } long long sq(int x,int y){ if(s==x&&e==y)return sm; if(y<=m)return l->sq(x,y); if(x>m)return r->sq(x,y); return l->sq(x,m)+r->sq(m+1,y); } }*root; int main(){ int n,q; scanf("%d%d",&n,&q); if(n<=200&&q<=200){ long long arr[n+5][n]; for(int i=0;i<n;i++)scanf("%lld",&arr[0][i]); for(int i=1;i<=n;i++){ arr[i][0]=arr[i-1][0]; for(int j=1;j<n;j++){ arr[i][j]=max(arr[i-1][j-1],arr[i-1][j]); } } int t,l,r; for(int i=0;i<q;i++){ scanf("%d%d%d",&t,&l,&r);l--;r--; long long ans=0; for(int j=l;j<=r;j++){ ans+=arr[t][j]; } printf("%lld\n",ans); } }else{ long long arr[n]; for(int i=0;i<n;i++){ scanf("%lld",&arr[i]); root->upd(i,arr[i]); } int t[q],l[q],r[q]; bool st2=1; for(int i=0;i<q;i++){ scanf("%d%d%d",&t[i],&l[i],&r[i]); if(t[i]!=t[0])st2=0; } if(st2){ root=new node(0,n-1); for(int i=n-1;i>=0;i--){ root->upd(i,root->mq(max(0,i-t[0]),i)); } for(int i=0;i<q;i++){ printf("%lld\n",root->sq(l[i]-1,r[i]-1)); } } } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 256 KB | Output is correct |
2 | Correct | 5 ms | 640 KB | Output is correct |
3 | Correct | 5 ms | 640 KB | Output is correct |
4 | Correct | 5 ms | 640 KB | Output is correct |
5 | Correct | 5 ms | 640 KB | Output is correct |
6 | Correct | 5 ms | 640 KB | Output is correct |
7 | Correct | 5 ms | 640 KB | Output is correct |
8 | Correct | 5 ms | 640 KB | Output is correct |
9 | Correct | 5 ms | 640 KB | Output is correct |
10 | Correct | 5 ms | 640 KB | Output is correct |
11 | Correct | 5 ms | 640 KB | Output is correct |
12 | Correct | 5 ms | 640 KB | Output is correct |
13 | Correct | 5 ms | 640 KB | Output is correct |
14 | Correct | 5 ms | 640 KB | Output is correct |
15 | Correct | 5 ms | 640 KB | Output is correct |
16 | Correct | 5 ms | 640 KB | Output is correct |
17 | Correct | 5 ms | 640 KB | Output is correct |
18 | Correct | 5 ms | 640 KB | Output is correct |
19 | Correct | 5 ms | 640 KB | Output is correct |
20 | Correct | 5 ms | 640 KB | Output is correct |
21 | Correct | 5 ms | 640 KB | Output is correct |
22 | Correct | 5 ms | 640 KB | Output is correct |
23 | Correct | 5 ms | 640 KB | Output is correct |
24 | Correct | 5 ms | 640 KB | Output is correct |
25 | Correct | 5 ms | 640 KB | Output is correct |
26 | Correct | 5 ms | 640 KB | Output is correct |
27 | Correct | 5 ms | 640 KB | Output is correct |
28 | Correct | 5 ms | 640 KB | Output is correct |
29 | Correct | 5 ms | 640 KB | Output is correct |
30 | Correct | 5 ms | 640 KB | Output is correct |
31 | Correct | 5 ms | 640 KB | Output is correct |
32 | Correct | 5 ms | 640 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 256 KB | Output is correct |
2 | Runtime error | 5 ms | 384 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 256 KB | Output is correct |
2 | Runtime error | 5 ms | 512 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 5 ms | 512 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 256 KB | Output is correct |
2 | Correct | 5 ms | 640 KB | Output is correct |
3 | Correct | 5 ms | 640 KB | Output is correct |
4 | Correct | 5 ms | 640 KB | Output is correct |
5 | Correct | 5 ms | 640 KB | Output is correct |
6 | Correct | 5 ms | 640 KB | Output is correct |
7 | Correct | 5 ms | 640 KB | Output is correct |
8 | Correct | 5 ms | 640 KB | Output is correct |
9 | Correct | 5 ms | 640 KB | Output is correct |
10 | Correct | 5 ms | 640 KB | Output is correct |
11 | Correct | 5 ms | 640 KB | Output is correct |
12 | Correct | 5 ms | 640 KB | Output is correct |
13 | Correct | 5 ms | 640 KB | Output is correct |
14 | Correct | 5 ms | 640 KB | Output is correct |
15 | Correct | 5 ms | 640 KB | Output is correct |
16 | Correct | 5 ms | 640 KB | Output is correct |
17 | Correct | 5 ms | 640 KB | Output is correct |
18 | Correct | 5 ms | 640 KB | Output is correct |
19 | Correct | 5 ms | 640 KB | Output is correct |
20 | Correct | 5 ms | 640 KB | Output is correct |
21 | Correct | 5 ms | 640 KB | Output is correct |
22 | Correct | 5 ms | 640 KB | Output is correct |
23 | Correct | 5 ms | 640 KB | Output is correct |
24 | Correct | 5 ms | 640 KB | Output is correct |
25 | Correct | 5 ms | 640 KB | Output is correct |
26 | Correct | 5 ms | 640 KB | Output is correct |
27 | Correct | 5 ms | 640 KB | Output is correct |
28 | Correct | 5 ms | 640 KB | Output is correct |
29 | Correct | 5 ms | 640 KB | Output is correct |
30 | Correct | 5 ms | 640 KB | Output is correct |
31 | Correct | 5 ms | 640 KB | Output is correct |
32 | Correct | 5 ms | 640 KB | Output is correct |
33 | Runtime error | 5 ms | 512 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
34 | Halted | 0 ms | 0 KB | - |