#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define el '\n'
using namespace std;
int main () {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
ll n, k; cin >> n >> k;
vector <ll> a(n + 1);
for (ll i = 1; i <= n; i++)
cin >> a[i];
ll q; cin >> q;
while (q--) {
int type; cin >> type;
if (type == 2) {
ll l, r, m; cin >> l >> r >> m;
ll ans = 0;
for (ll i = l; i <= r; i++) {
ll ql = max(l, i - m + 1);
ll qr = min(i, r - m + 1);
ans += a[i] * max(0ll, qr - ql + 1ll);
}
cout << ans << el;
} else {
vector <ll> b(k + 1);
for (ll i = 1; i <= k; i++)
cin >> b[i];
ll x = a[b[1]];
for (ll i = 1; i < k; i++)
a[b[i]] = a[b[i + 1]];
a[b[k]] = x;
}
}
return 0;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |