Submission #78533

#TimeUsernameProblemLanguageResultExecution timeMemory
78533OrigimsStove (JOI18_stove)C++14
100 / 100
101 ms16300 KiB
// In The Name Of God
#include <bits/stdc++.h>

#define sqr(A) ((A) * (A))
#define F first
#define S second
#define MP make_pair
#define bsz  __builtin_popcount
#define all(A) A.begin(), A.end()
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<int, int> pii;
const int MOD = 1e9 + 7;
const int MOD2 = 1e9 + 9;
const int PR = 727;
const int INF = INT_MAX;
const ll LINF = LLONG_MAX;

const int N = 1e5 + 20;
int t[N], n, k, ans;
set<pair<int, pii> > s;

int main() {
	ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
	cin >> n >> k;
	for (int i = 0; i < n; i++)
		cin >> t[i];
	sort(t, t + n);
	for (int i = 0; i < n - 1; i++)
		s.insert(MP(t[i + 1] - t[i] - 1, MP(i, i + 1)));
	k = n - k, ans = n;
	while (k--) {
		auto p = *s.begin();
		ans += p.F;
		s.erase(p);
	}
	cout << ans << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...