Submission #164493

#TimeUsernameProblemLanguageResultExecution timeMemory
164493balbitStove (JOI18_stove)C++14
100 / 100
29 ms2296 KiB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define f first
#define s second
#define FOR(i,a,b) for (int i = a; i<b; i++)
#define REP(i,n) FOR(i,0,n)
#define RREP(i,n) for (int i = n-1; i>=0; i--)
#define SZ(x) (int)(x.size())
#define ALL(x) x.begin(),x.end()
#define MX(a,b) a = max(a,(__typeof__(a))(b))
#define MN(a,b) a = min(a,(__typeof__(a))(b))
#define pb push_back

#ifdef BALBIT
#define IOS()
#define bug(x) cerr<<__LINE__<<": "<<x<<endl
#else
#define IOS() ios::sync_with_stdio(0),cin.tie(0)
#define endl '\n'
#define bug(x)
#endif

const ll mod = 1e9+7;
const int maxn = 3e5;
const ll INF = 0x3f3f3f3f3f3f3f3f;
const int iinf = 0x3f3f3f3f;

signed main(){
	IOS();
	int n, k; cin>>n>>k;
	vector<int>a(n);
	vector<int> df;
	REP(i,n){
		cin>>a[i]; if(i) df.pb(a[i]-a[i-1]-1);
	}
	sort(ALL(df));
	ll re = a[n-1] - a[0] + 1;
	sort(ALL(df), greater<int> () );
	REP(i,min(n-1,k-1)){
		re -= df[i];
	}
	cout<<re<<endl;
	
	
	
}

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