Submission #476024

#TimeUsernameProblemLanguageResultExecution timeMemory
476024gvancakAddk (eJOI21_addk)C++14
0 / 100
625 ms3464 KiB
#include <iostream> using namespace std; long long n,k,q,a[100001],p[100001],t,x,ans,l,r,m; int main() { cin >> n >> k; for (int i=1; i<=n; i++){ cin >> a[i]; p[i]=p[i-1]+a[i]; } cin >> q; for (int o=1; o<=q; o++){ cin >> t; ans=0; if (t==1){ for (int i=1; i<=k; i++){ cin >> x; } } else{ cin >> l >> r >> m; if (r-l+1<m*2-1){ x=r-(l+m-1)+1; for (int i=l; i<=l+m-1-1; i++){ ans+=min(i-l+1,x)*a[i]; } for (int i=l+m-1-1+1; i<=r; i++){ ans+=min(r-i+1,x)*a[i]; } cout<<ans<<endl; } else{ for (int i=l; i<=l+m-1-1; i++){ ans+=min(i-l+1,x)*a[i]; } ans+=(p[r-m]-p[l+m-1-1])*m; for (int i=r-m+1; i<=r; i++){ ans+=min(r-i+1,x)*a[i]; } cout<<ans<<endl; } } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...