#include <bits/stdc++.h>
using namespace std;
int main() {
int n,k;
cin >> n >> k;
vector<int>T(n,0);
vector<pair<int,int>>guest_group;
for (auto &t: T) cin >> t;
sort(T.begin(),T.end());
for (auto &t : T) {
if (guest_group.empty() || guest_group.back().second < t) guest_group.push_back({t,t+1});
else guest_group.back() = {guest_group.back().first,t+1};
}
priority_queue<int,vector<int>,greater<int>>gap;
int ans = 0;
for (auto &g : guest_group) ans+=(g.second-g.first);
for (int i=0; i<guest_group.size()-1; i++) gap.push(guest_group[i+1].first-guest_group[i].second);
while (!gap.empty() && gap.size() > k-1) {
ans+=gap.top();
gap.pop();
}
cout << ans;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |