Submission #1266191

#TimeUsernameProblemLanguageResultExecution timeMemory
1266191cmiucStove (JOI18_stove)C++20
100 / 100
45 ms4936 KiB
#include <iostream>
#include <set>

using namespace std;

int main(){
	int n, k, Ans;
	cin>>n>>k;
	k--;

	multiset<int> st;
	for (int i=1, lst, a;i<=n;i++){
		cin>>a;
		if (i > 1)
			st.insert({a - lst - 1});
		else
			Ans = a;
		lst = a;
		if (i == n)
			Ans = lst - Ans + 1;
	}

	while (k > 0 and st.size() > 0){
		Ans -= *rbegin(st);
		st.erase(prev(end(st)));
		k--;
	}
	cout<<Ans<<'\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...