제출 #771161

#제출 시각아이디문제언어결과실행 시간메모리
771161Tkm_algoStove (JOI18_stove)C++17
100 / 100
19 ms3236 KiB
#include "bits/stdc++.h"

using namespace std;
using ll = long long;

void solve() {
	int n, k;
	cin >> n >> k;
	vector<ll> a(n);
	for (int i = 0; i < n; i++) {
		cin >> a[i];
	}
	sort(a.begin(), a.end());
	ll ans = a[n - 1] - a[0] + 1;
	k--;
	int l = 0;
	vector<ll> t;
	while (l < n) {
		while (l < n - 1 && a[l] + 1 == a[l + 1]) {
			l++;
		}
		if (l < n - 1) {
			t.push_back(a[l + 1] - a[l] - 1);
		}
		l++;
	}
	sort(t.rbegin(), t.rend());
	for (int i = 0; i < min(k, (int)t.size()); i++) {
		ans -= t[i];
	}
	cout << ans << '\n';
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	
	int test = 1;
	// cin >> test;
	
	while (test--) {
		solve();
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...