답안 #967300

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
967300 2024-04-21T18:26:16 Z Fikrat_Asadzadeh Addk (eJOI21_addk) C++14
0 / 100
1065 ms 3080 KB
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define FORI(i, n) for(int i = 0; i < n; i++)
#define FOR(i, n) for(int i = 1; i <= n; i++)
typedef vector < ll > vl; 
typedef set < ll > setl;
#define ff first
#define ss second    
#define all(v) v.begin(), v.end() 
#define pll pair < ll , ll > 
#define db  double
#define nll cout << "\n"
#define nl "\n"
#define sync                          \
    ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0) ;
// #define int ll
const ll INF = 1e9;
const int MAX = 1e5 + 5; 
ll n, m, k;
ll t[4 * MAX], a[MAX], b[11];
void solve(){
    cin >> n >> k;
    FOR(i, n){
        cin >> a[i];
    }
    ll q, c;
    cin >> q;
    ll l, r, x;
    while(q--){
        cin >> c;
        if(c == 2){
            cin >> l >> r >> x;
            ll res = 0;
            for(ll i = l; i <= r; i++){
                if(i >= l + x - 1){
                    if(i <= r - x + 1){
                        res += a[i] * x;
                    }
                    else{
                        res += a[i] * (r - i + 1);
                    }
                }
                else{
                    res += a[i] * (i - l + 1);
                }
            }
            cout << res << nl;
        }   
        else{
            FOR(i, k){
                cin >> b[i];
            }
            x = a[b[1]];
            for(ll i = 1; i <= k - 1; i++)a[b[i]] = a[b[i + 1]];
            a[b[k]] = x;
        }
    }
}
signed main(){
    sync;
    ll t = 1;
    // cin >> t;
    while(t--){
        solve();
    }
}   
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 257 ms 800 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1065 ms 3080 KB Output isn't correct
2 Halted 0 ms 0 KB -