답안 #198972

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
198972 2020-01-28T13:32:44 Z virchau13 Holding (COCI20_holding) C++17
0 / 110
5 ms 256 KB
#include <iostream>
#include <algorithm>
#include <set>
#include <deque>
#include <queue>
using namespace std;

int arr[107];

int main(){
    int n, l, r, k;
    cin >> n >> l >> r >> k;
    l--; r--;
    int s = 0;
    auto cmp = [](int i, int j){ return arr[i] < arr[j]; };
    auto cmpv = [](int i, int j){ return arr[i] > arr[j]; };
    priority_queue<int, vector<int>, decltype(cmp)> p(cmp);
    priority_queue<int, vector<int>, decltype(cmpv)> q(cmpv);
    for(int i = 0; i < n; i++){
        cin >> arr[i];
        if(l <= i && i <= r){
            p.push(i);
            s += arr[i];
        }
        else q.push(i);
    }
    int m = s;
    while(k && q.size()){
        if(abs(q.top() - p.top()) > k){
            q.pop();
            continue;
        }
        k -= abs(q.top() - p.top());
        s -= arr[p.top()];
        p.pop();
        s += arr[q.top()];
        q.pop();
        m = min(m, s);
    }
    cout << m << '\n';
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -