제출 #66764

#제출 시각아이디문제언어결과실행 시간메모리
66764quoriessStove (JOI18_stove)C++14
0 / 100
3 ms584 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long int lli;
typedef pair<lli,lli> pii;
int main(){
	int n,k;
	cin>>n>>k;
	vector<lli> times;
	map<lli,bool> marked;
	for (int i = 0; i < n; i++)
	{
		int a;
		cin>>a;
		if(marked.find(a)==marked.end()){
			times.push_back(a);
		}
		if(marked.find(a+1)==marked.end()){
			times.push_back(a+1);
		}
		marked[a]=marked[a+1]=true;
	}
	k--;
	sort(times.begin(),times.end());
	int len=times.size();
	priority_queue<lli> maxBosluklar;
	for (int i = 1; i < len; i++)
	{
		maxBosluklar.push(times[i]-times[i-1]);
	}
	lli sz=times[len-1]-times[0];
	while(k>0 && !maxBosluklar.empty() && maxBosluklar.top()!=0){
		lli t=maxBosluklar.top();
		sz-=t;
		maxBosluklar.pop();
		k--;
	}
	cout << sz<<"\n";
	return 0;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...