Submission #1133442

#TimeUsernameProblemLanguageResultExecution timeMemory
1133442FZ_LaabidiStove (JOI18_stove)C++20
0 / 100
0 ms324 KiB
#include <bits/stdc++.h>//
#define int long long
using namespace std;

signed main() {
    

        int n, k; cin >> n >>k;
        vector <int> v(n), gaps;
        for(int i = 0; i < n; i++)cin >> v[i];
        sort(v.begin(), v.end());
        if (n==k)
            cout << k<< endl;
        else if (k==1)
            cout << v[n-1]-v[0]+1 << endl;
        else{
            int cur = 0;
            for (int i=1; i<n; i++) {
                if (v[i]-v[i-1]>1)
                    gaps.push_back( v[i] - v[i-1]);
            }
            int l = gaps.size();
            sort(gaps.begin(), gaps.end());
            int tofil = l-k+1;
            if (l+1 > k)
            {

                for (int i=0; i<tofil; i++) {
                    cur+=gaps[i];
                    cur--;
                }
            }
            cout <<cur << endl;
        }
    }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...