#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned ll
#define pb emplace_back
//#define mp make_pair
#define ALL(x) (x).begin(),(x).end()
#define rALL(x) (x).rbegin(),(x).rend()
#define srt(x) sort(ALL(x))
#define rev(x) reverse(ALL(x))
#define rsrt(x) sort(rALL(x))
#define sz(x) (int)(x.size())
#define inf 1e16
#define pii pair<int,int>
#define lb(v,x) (int)(lower_bound(ALL(v),x)-v.begin())
#define ub(v,x) (int)(upper_bound(ALL(v),x)-v.begin())
#define uni(v) v.resize(unique(ALL(v))-v.begin())
void die(string S){puts(S.c_str());exit(0);}
#define int long long
const int mod=1e9+7;
void solve()
{
int n,k;
cin>>n>>k;
vector<int>a(n);
for(int &x:a)
cin>>x;
vector<int>diff(n+3);
for(int i=0;i<n;i++)
diff[a[i]]++,diff[a[i]+1]--;
partial_sum(ALL(diff),diff.begin());
vector<int>ind;
for(int i=0;i<diff.size();i++)
if(diff[i])
continue;
else
ind.pb(i);
vector<int>d;
for(int i=1;i<ind.size();i++)
d.pb(ind[i]-ind[i-1]);
rsrt(d);
int ans=0;
for(int i=0;i<min(k,sz(d));i++)
ans+=d[i];
cout<<ans;
}
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int t=1;
#ifdef CM
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
#endif
//cin>>t;
while(t--)
solve();
return 0;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |