Submission #863115

#TimeUsernameProblemLanguageResultExecution timeMemory
863115efedmrlrStove (JOI18_stove)C++17
100 / 100
21 ms3292 KiB
#include <bits/stdc++.h>

using namespace std;

#define int long long int
#define MP make_pair
#define pb push_back
#define REP(i,n) for(int (i) = 0; (i) < (n); (i)++)

void fastio() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
}


const double EPS = 0.00001;
const int INF = 1e17+500;
const int N = 1e5+5;
const int M = 3e5+5;
const int ALPH = 26;
const int LGN = 25;
const int MOD = 1e9+7;
int n,k;

vector<int> t;
vector<int> itrs;

inline void solve() {
    cin>>n>>k;
    t.resize(n);
    for(int i = 0; i<n; i++) {
        cin>>t[i];
    }
    sort(t.begin(), t.end());
    int tot = t.back() + 1 - t[0];
    for(int i = 1 ;i<n; i++) {
        itrs.pb(t[i] - t[i-1] - 1);
    }

    sort(itrs.begin(), itrs.end());
    
    for(int i = 0; i<k-1; i++) {
        tot -= itrs.back();
        itrs.pop_back();
    }
    cout<<tot<<"\n";
}
 
signed main() {
    fastio();
    int test = 1;
    //cin>>test;
    while(test--) {
        solve();
    }
    
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...