제출 #1180643

#제출 시각아이디문제언어결과실행 시간메모리
1180643takoshanavaStove (JOI18_stove)C++20
100 / 100
30 ms2632 KiB
#include <bits/stdc++.h>
#define int long long
#define pb push_back
#define fs first
#define sc second
using namespace std;

const int N = 100000;
int a[N], b[N], diff[N];

signed main() {
	int n, k;
    cin >> n >> k;

    if(k >= n){
        cout << n << endl;
        return 0;
    }
    
    for(int i = 1; i <= n; i++){
        cin >> a[i];
        b[i] = a[i] + 1;
    }

    for(int i = 1; i < n; i++){
        diff[i] = a[i + 1] - b[i];
    }

    sort(diff + 1, diff + n, greater<int>());

    int cnt = 0, sum = 0;

    while(k--){
        sum += diff[cnt];
        cnt++;
    }

    cout << b[n] - a[1] - sum;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...