#include <bits/stdc++.h>
#define int long long
#define pb push_back
using namespace std;
const int N=3e5+10;
const int inf=9e18;
const int mod=1e9+7;
int a[N];
int dp[N];
int pref[N];
vector<pair<int,int>>v[N];
int t[N*4];
void update(int v,int tl,int tr,int val,int pos) {
if(tl==tr) {
t[v]=val;
return;
}
int m=(tl+tr)/2;
if(m>=pos) {
update(v*2,tl,m,val,pos);
}
else {
update(v*2+1,m+1,tr,val,pos);
}
t[v]=min(t[v*2],t[v*2+1]);
}
int get(int v,int tl,int tr,int l,int r) {
if(r>=tr && tl>=l) {
return t[v];
}
if(tr<l || tl>r) return inf;
int m=(tl+tr)/2;
return min(get(v*2+1,m+1,tr,l,r),get(v*2,tl,m,l,r));
}
signed main() {
ios_base::sync_with_stdio(NULL);
cin.tie(NULL);
int T=1;
// cin>>T;
while(T--) {
int n,k;
cin>>n>>k;
k--;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+n+1);
int ans=n;
vector<int>v;
for(int i=2;i<=n;i++) {
v.pb(a[i]-a[i-1]-1);
}
sort(v.begin(),v.end());
for(int i=1;i<=n-k-1;i++) {
ans+=v[i-1];
//cout<<v[i-1]<<' ';
}
cout<<ans<<"\n";
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |