Submission #1354838

#TimeUsernameProblemLanguageResultExecution timeMemory
1354838rana_azkaAddk (eJOI21_addk)C++20
0 / 100
917 ms1328 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

const int INF = 1e18;
const int MOD = 1e9+7;
const int MAXN = 2e5;

int n, m;
int k;
int arr[MAXN+5];

void solve(){
    cin >> n >> k;
    for(int i = 1; i <= n; i++) cin >> arr[i];

    int q; cin >> q;
    while(q--){
        int tipe; cin >> tipe;

        if(tipe == 1){
            vector<int> idx;
            for(int i = 0; i < k; i++){
                int x; cin >> x;
                idx.push_back(x);
            }
            idx.push_back(idx[0]);
            int temp = arr[idx[0]];
            for(int i = 0; i < k; i++) arr[idx[i]] = arr[idx[i+1]];
            arr[idx[k-1]] = temp;
        }else{
            int l, r, rng; cin >> l >> r >> rng;
            int ans = 0;
            for(int i = l; i <= r; i++){
                ans += arr[i] * min(min(abs(l - i), abs(r - i)) + 1, min(rng, n - rng));
            }
            cout << ans << endl;
        }
    }
}

signed main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);

    int tc = 1;
    // cin >> tc;
    while(tc--){
        solve();
    }

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