Submission #593456

#TimeUsernameProblemLanguageResultExecution timeMemory
593456serkanrashidAddk (eJOI21_addk)C++14
0 / 100
35 ms2388 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) { for(int j=1;j<=k;j++) cin >> ch; } else { cin >> l >> r >> m; idx=l+m-1; mid=(l+r)/2; 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...