Submission #593493

#TimeUsernameProblemLanguageResultExecution timeMemory
593493serkanrashidAddk (eJOI21_addk)C++14
0 / 100
25 ms3916 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,obr; long long ans=0; for(int i=1;i<=q;i++) { cin >> ch; ans=0; if(ch==1) { cin >> ch; } else { cin >> l >> r >> m; //cout << "++++++++++++++++++++++++++" << endl; idx=l+m-1; mid=(l+r)/2; idx=min(idx,mid); m=idx-l+1; 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; } /* 8 1 7 2 5 1 9 3 4 6 3 2 3 8 2 2 2 8 3 2 3 6 1 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...