Submission #716656

#TimeUsernameProblemLanguageResultExecution timeMemory
716656NonozeAddk (eJOI21_addk)C++14
92 / 100
52 ms7416 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using ld = long double; using db = double; using str = string; #define int ll #define MN 1e5+5 #define MOD 1000000007 #define endl '\n' #define endlfl endl << flush #define dmp(x) cerr<<__LINE__<<" "<<#x<<" "<<x<<endl const int INF=1e9 + 10; const auto beg = std::chrono::high_resolution_clock::now(); void dbg_time() { auto us = (double)std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::high_resolution_clock::now() - beg).count(); cerr << "Operation time: " << (long double)us/1000000 << " seconds." << endl; } int n, k, q; void solve() { cin >> n >> k; vector<int> a(n+1); vector<int> P(n+1, 0); vector<int> Pmultl(n+1, 0); vector<int> Pmultr(n+1, 0); for (int i = 1; i <= n; ++i) { cin >> a[i]; P[i]=P[i-1]+a[i]; Pmultl[i]=Pmultl[i-1]+a[i]*(n-i+1); Pmultr[i]=Pmultr[i-1]+a[i]*i; } cin >> q; while(q--) { int action; cin >> action; if (action==1) { int input; cin >> input; } else { int l, r, m; cin >> l >> r >> m; int sum=(P[r]-P[l-1])*m; sum-=(Pmultl[l+m-1]-Pmultl[l-1]) - (P[l+m-1]-P[l-1])*(n-(l+m-1)+1); sum-=(Pmultr[r]-Pmultr[r-m+1]) - (P[r]-P[r-m+1])*(r-m+1); cout << sum << endl; } } return; } signed main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int tt=1;// cin >> tt; while(tt--) solve(); dbg_time(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...