Submission #857025

#TimeUsernameProblemLanguageResultExecution timeMemory
857025StefanSebezFire (JOI20_ho_t5)C++14
0 / 100
412 ms18136 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define int long long signed main() { int n,q;cin>>n>>q; int a[n+1];for(int i=1;i<=n;i++)cin>>a[i]; vector<int>mono; int R[n+50]; for(int i=1;i<=n;i++) { R[i]=n+1; while(!mono.empty() && a[mono.back()]<a[i]) { R[mono.back()]=i; mono.pop_back(); } mono.pb(i); } /*for(int i=1;i<=n;i++)cout<<R[i]<<" "; cout<<endl;*/ int l[q+1],r[q+1],t[q+1]; for(int i=1;i<=q;i++) { cin>>t[i]>>l[i]>>r[i]; /*int b[n+1]={0};for(int i=1;i<=n;i++)b[i]=a[i]; while(t--) { int c[n+1]; for(int i=1;i<=n;i++)c[i]=max(b[i],b[i-1]); for(int i=1;i<=n;i++)b[i]=c[i]; } int res=0; for(int i=l;i<=r;i++) res+=b[i]; cout<<res<<endl;*/ } for(int i=1;i<=n;) { int ct=t[1],j=i+1; while(j<=n && j<R[i] && ct>0) { a[j]=a[i]; j++; ct--; } i=j; } int pref[n+1]={0}; for(int i=1;i<=n;i++) { pref[i]=pref[i-1]+a[i]; } for(int i=1;i<=q;i++) { cout<<pref[r[i]]-pref[l[i]-1]<<endl; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...