Submission #1297305

#TimeUsernameProblemLanguageResultExecution timeMemory
1297305sdanStove (JOI18_stove)C++20
100 / 100
16 ms1992 KiB
#include<bits/stdc++.h>
using namespace std;
#define f first
#define s second

signed main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    
    int n, k; cin >> n >> k;
    int a[n]; for(int i = 0; i < n; ++i) cin >> a[i];
    sort(a, a + n);
    
    int s = a[n - 1] - a[0] + 1;
    
    vector<pair<int, int>> b;
    for(int i = 1; i < n; ++i)
        b.push_back({a[i - 1] + 1, a[i] - 1});
        
    sort(b.begin(), b.end(), [](const auto &a, const auto &b) {
        return (a.s - a.f) > (b.s - b.f);
    });
    
    for(int i = 0; i < min(k - 1, n - 1); ++i) {
        if(b[i].f > b[i].s) break;
        s -= b[i].s - b[i].f + 1;
    }
    cout << s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...