Submission #277854

#TimeUsernameProblemLanguageResultExecution timeMemory
277854erkamStove (JOI18_stove)C++17
100 / 100
25 ms3100 KiB
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<utility>
#include<vector>
#include<stack>
#include<queue>
#include<cstring>
#include<set>
#include<map>
#define endl "\n"
#define all(v) v.begin(),v.end()
#define st first
#define nd second
#define mp make_pair
#define pb push_back
using namespace std;
typedef long long lo;
const int mod=1000000007,N=500005;
lo a,b,c,d,e,f,g=1,h[N],arr[N];
string s;
vector<lo>v;

void solve(){
	cin >> a >> b;
	vector<lo>v;
	for(lo i=1;i<=a;i++){
		cin >> arr[i];
		if(i>1)v.pb(arr[i]-arr[i-1]-1);
	}
	sort(all(v));
	reverse(all(v));
	lo ans=arr[a]-arr[1]+1;
	for(lo i=0;i<b-1;i++){
		ans-=v[i];
	}
	cout << ans << endl;
}
 
int main(){
	#ifdef local
		freopen("in.txt","r",stdin);
		freopen("out.txt","w",stdout);
	#endif
	ios_base::sync_with_stdio(false);
	cin.tie(NULL); cout.tie(NULL);
	// cin >> g;
	while(g--)solve();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...