답안 #848116

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
848116 2023-09-11T11:22:07 Z JoksimKaktus Addk (eJOI21_addk) C++17
0 / 100
2000 ms 1464 KB
#include <bits/stdc++.h>

using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(0);
    int n,k;
    cin >> n >> k;
    vector <int> v(n+1);
    vector <int> pre(n+1);
    pre[0] = 0;
    for(int i = 1;i <= n;i++){
        cin >> v[i];
        pre[i] = pre[i-1] + v[i];
    }
    int q;
    cin >> q;
    for(int i = 0;i < q;i++){
        int qu,l,r,m;
        cin >> qu;
        if(qu == 2){
            cin >> l >> r >> m;
            int rr = r;
            int ll = l-1;
            int sum = 0;
            for(int j = 0; j < min(m,(r-l)+2-m);j++){
                sum += pre[rr] - pre[ll];
                ll++;
                rr--;
            }
            cout << sum << "\n";
        }else{
            vector <int> ind(k);
            vector <int> res(n+1);
            for(int i = 0;i < k;i++){
                cin >> ind[i];
            }
            cout << "\n";
            for(int i = 0;i < k-1;i++){
                int diff = v[ind[i+1]] - v[ind[0]];
                res[ind[i]] += diff;
                res[ind[i+1]] -= diff;
            }
            for(int j = ind[0];j <= ind[k-1];j++){
                res[j] = res[j-1] + res[j];
                pre[j] += res[j];
            }
        }
    }
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Incorrect 1 ms 348 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 55 ms 1272 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2031 ms 1464 KB Time limit exceeded
2 Halted 0 ms 0 KB -