Submission #678055

#TimeUsernameProblemLanguageResultExecution timeMemory
678055vjudge1Stove (JOI18_stove)C++17
100 / 100
18 ms1900 KiB
#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define pb push_back
#define mp make_pair
#define F first
#define S second
#define sz(x) (x).size() 
#define all(x) (x).begin(), (x).end()
 
using namespace std;
 
string alphabet = "abcdefghijklmnopqrstuvwxyz";

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    ull n,k;
    cin >> n >> k;

    vector <ull> a(n),pref(n - 1);

    ull mx = 0,mn = 999999999999999;

    for(ull i = 0; i < n; i++)
    {
        cin >> a[i];

        mx = max(mx,a[i]);
        mn = min(mn,a[i]);

        if(i != 0)
        {
            pref[i - 1] = a[i] - a[i - 1];
        }
    }

    ull sum = mx - mn + 1;

    if(k == 1)
    {
        cout << (a[n - 1] - a[0]) + 1;
    }
    else if(n == k) 
    {
        cout << n;
    }
    else 
    {
        sort(all(pref));

        reverse(all(pref));

        for(ull i = 0; i < k - 1; i++)
        {
            sum -= pref[i] - 1;
        }

        cout << sum;
    }
    

    return 0;
}

/*
    
*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...