Submission #1355841

#TimeUsernameProblemLanguageResultExecution timeMemory
1355841vjudge1Stove (JOI18_stove)C++20
100 / 100
25 ms1808 KiB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    long long n, k, sum = 0;
    cin>>n>>k;
    long long a[n];
    vector<int>v;
    for(long long i = 0; i < n; i++)
    {
        cin>>a[i];
        sum+=1;
        if(i > 0)
        {
            v.push_back(a[i]-(a[i-1]+1));
            sum+=a[i]-a[i-1]-1;
        }
    }
    if(k == 1)
    {
        cout<<*max_element(a, a+n)+1 - *min_element(a, a+n);
    }
    else
    {
        sort(v.rbegin(), v.rend());
        k--;
        for(auto p:v)
        {
            if(k > 0)
            {
                k-=1;
                sum-=p;
            }
        }
        cout<<sum<<endl;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...