Submission #593451

#TimeUsernameProblemLanguageResultExecution timeMemory
593451serkanrashidAddk (eJOI21_addk)C++14
0 / 100
32 ms3540 KiB
#include <bits/stdc++.h> #define endl '\n' using namespace std; const int maxn=1e5+5; int n,k,q; long long a[maxn],pref[maxn],suff[maxn],dp[maxn]; void read() { cin >> n >> k; for(int i=1;i<=n;i++) { cin >> a[i]; pref[i]=pref[i-1]+a[i]*i; dp[i]=dp[i-1]+a[i]; suff[i]=suff[i-1]+a[i]*(n-i+1); } cin >> q; int ch,l,r,m,idx,mid,len,obr; long long ans; for(int i=1;i<=q;i++) { cin >> ch; ans=0; if(ch==1) { for(int j=1;j<=k;j++) cin >> ch; } else { cin >> l >> r >> m; len=r-l+1; idx=l+m-1; if(!(len%2)) len--; mid=(len/2)+l; idx=mid; ans+=((pref[idx-1]-pref[l-1])-(dp[idx-1]-dp[l-1])*(l-1)); obr=l+r-idx; ans+=((suff[r]-suff[obr]))-((dp[r]-dp[obr])*(n-r)); ans+=((dp[obr]-dp[idx-1])*((idx-l+1))); cout << ans << endl; } } } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); read(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...