Submission #687030

#TimeUsernameProblemLanguageResultExecution timeMemory
687030viwlesxqStove (JOI18_stove)C++17
100 / 100
50 ms3188 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
typedef int64_t ll;
typedef string str;
 
#define pb push_back
#define pf push_front
#define ppb pop_back
#define ppf pop_front
#define F first
#define S second
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define sz(x) (int)x.size()
 
signed main() {
	int n, k;
	cin >> n >> k;
	ll a[n], ans = 0;
	for (int i = 0; i < n; i++) cin >> a[i];
	if (n == 1) {
		cout << 1;
		return 0;
	}
	sort(a, a + n);
	ans = a[n - 1] - a[0] + 1;
	vector <ll> diff;
	for (int i = 1; i < n; i++) {
		diff.pb(a[i] - a[i - 1]);
	}
	k--;
	sort(all(diff));
	while (k && !diff.empty()) {
		k--;
		ans -= diff.back() - 1;
		diff.ppb();
	}
	cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...