Submission #1304483

#TimeUsernameProblemLanguageResultExecution timeMemory
1304483disfyyStove (JOI18_stove)C++20
100 / 100
16 ms2244 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
const ll N = 5e5 + 5;
const ll NN = 5e3 + 5;
const ll INF = 2e18 + 5;
const ll MOD = 1e9 + 7;
const ll P = 53;
const double eps = 1e-9;
ll a[N];

void solve() {
	ll n, k;
	cin >> n >> k;
	for(int i = 1; i <= n; i++) {
		cin >> a[i];
	}
	vector<ll> v;
	for(int i = 2; i <= n; i++) {
		if(a[i] - a[i - 1] != 1) {
			v.push_back(a[i] - a[i - 1] - 1);
		}
	}
	sort(v.rbegin(), v.rend());
	ll ans = n;
	for(int i = k - 1; i < v.size(); i++) {
		ans += v[i];
	}
	cout << ans << '\n';
}

signed main() {
	
	ios::sync_with_stdio(false);
	cin.tie(nullptr); cout.tie(nullptr);
	
	int test = 1;
	// cin >> test;
	for(int i = 1; i <= test; i++) {
		solve();
	}
	
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...