Submission #1352163

#TimeUsernameProblemLanguageResultExecution timeMemory
1352163jakovgAddk (eJOI21_addk)C++20
0 / 100
1074 ms1104 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n, k;
    cin >> n >> k;
    int a[n];
    for (int i = 0; i < n; i++) cin >> a[i];

    int q;
    cin >> q;
    while (q--) {
        int x;
        cin >> x;
        if (x == 1) {
            int b[k];
            for (int i = 0; i < k; i++) {
                cin >> b[i];
                b[i]--;
            }

            int temp = a[b[0]];
            for (int i = 0; i < k - 1; i++) {
                a[b[i]] = a[b[i + 1]];
            }
            a[b[k - 1]] = temp;
        } else {
            int l, r, m;
            cin >> l >> r >> m;
            l--; r--;

            ll sum = 0;
            for (int i = l; i <= r; i++) {
                ll cnt = min({i - l + 1, m, r - i, r - l - m + 2});
                sum += (ll)a[i] * cnt;
            }
            cout << sum << "\n";
        }
    }

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...