#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>gap;
sort(guest_group.begin(),guest_group.end());
for (int i=0; i<guest_group.size()-1; i++) gap.push(guest_group[i+1].first-guest_group[i].second);
int total_time = (T[n-1] + 1) - T[0];
while (!gap.empty() && gap.size() >= k-2) {
total_time -= gap.top();
gap.pop();
--k;
}
cout << total_time;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |