# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
541965 | DemonLord154 | Stove (JOI18_stove) | C++14 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<iostream>
#include<vector>
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k;
cin>>n>>k;
vector<int> vec(n);
for (int i=0;i<n;i++){
cin>>vec[i];
}
sort(vec.begin(),vec.end());
vector<int> intervals;
for (int i=1;i<n;i++){
if (vec[i]-vec[i-1]-1>0){
intervals.push_back(vec[i]-vec[i-1]-1);
}
}
sort(intervals.begin(),intervals.end());
if ((int)intervals.size()<k){
cout<<n<<"\n";
} else{
int ans=0;
for (int i=0;i<n-k;i++){
ans+=intervals[i];
}
cout<<(n+ans)<<"\n";
}