제출 #770987

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
7709872023-07-02 09:30:06GordonRemzi007Addk (eJOI21_addk)C++17
92 / 100
222 ms6616 KiB
#include <iostream>
#include <vector>
#define ll long long
using namespace std;
int main() {
ll n, k, q, l, r, m;
cin >> n >> k;
vector<ll> a(n), b(n), c(n), u(k);
for(ll i = 0; i < n; i++) {
cin >> a[i];
b[i] = a[i];
c[i] = (i+1)*a[i];
if(i != 0) b[i]+=b[i-1], c[i]+=c[i-1];
}
cin >> q;
while(q--) {
cin >> m;
if(m == 1) {
for(ll i = 0; i < k; i++) cin >> u[i];
} else {
cin >> l >> r >> m;
l--, r--;
if(2*m <= r-l+1) cout << c[l+m-1]-(l-1 < 0 ? 0 : c[l-1])-l*(b[l+m-1]-(l-1 < 0 ? 0 : b[l-1])) + (b[r-m]-b[l+m-1])*m + (r+2)*(b[r]-(r-m < 0 ? 0 : b[r-m]))-(c[r]-c[r-m]) << "\n";
else cout << c[r-m]-(l-1 < 0 ? 0 : c[l-1])-l*(b[r-m]-(l-1 < 0 ? 0 : b[l-1])) + (b[l+m-1]-b[r-m])*(r-l+2-m) + (r+2)*(b[r]-(l+m-1 < 0 ? 0 : b[l+m-1]))-(c[r]-c[l+m-1]) << "\n";
}
}
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...