제출 #1281839

#제출 시각아이디문제언어결과실행 시간메모리
1281839hackstarStove (JOI18_stove)C++20
0 / 100
0 ms332 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...