Submission #1257422

#TimeUsernameProblemLanguageResultExecution timeMemory
1257422furinaStove (JOI18_stove)C++20
100 / 100
29 ms1964 KiB
#include <bits/stdc++.h>
using namespace std;
using lol = long long;

int main(){
    lol N, K; cin >> N >> K;

    vector<lol> stranger(N);
    for(int i = 0; i < N; i++){
        cin >> stranger[i];
    }

    if(K >= N){ // jika pas atau overlow
        cout << N;
        return 0;
    }

    vector<lol> yaps; // gaps
    for(int i = 0; i < N; i++){
        yaps.reserve(N - 1);
    }

    for(int i = 0; i < N - 1; i++){
        lol bensin = stranger[i + 1] - stranger[i] - 1;
        yaps.push_back(bensin);
    }

    sort(yaps.begin(), yaps.end());

    lol baka = N - K; // merge
    lol panas = 0; // ekstra

    for(int i = 0; i < baka; i++){
        panas += yaps[i];
    }

    lol wakatta = N + panas;

    cout << wakatta;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...