Submission #1332207

#TimeUsernameProblemLanguageResultExecution timeMemory
1332207ChocoStove (JOI18_stove)C++20
100 / 100
19 ms2344 KiB
#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O3")
#define ll long long
#define fori(i,j,k) for(ll i=j; i<=k;i++)
#define study ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define pb push_back
#define all(s) s.begin(),s.end()
#define ins insert
#define ss second
#define ff first
const ll sz=1e6+10;
ll INF=1e12;
ll mod=1e9+7;
void work(){
    ll n,k;
    cin>>n>>k;
    k--;
    priority_queue<ll>pq;
    vector<ll>v(n+10,0);
    ll ans=0;
    fori(i,1,n){
        cin>>v[i];
        if(i>1){
            if((v[i]-v[i-1])>1){
                pq.push((v[i]-v[i-1]-1));
            }
        }
    }
    ans=v[n]-v[1]+1;
    while(k and !pq.empty()){
        ans-=pq.top();
        pq.pop();
        k--;
    }
    cout<<ans<<endl;
}
int main()
{
    //#ifndef LOCAL
    //freopen("mootube.in","r",stdin);
    //freopen("log.txt","w",stdout);
    //#endif
    study;
    ll t=1;
    //cin>>t;
    fori(i,1,t)
    work();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...