Submission #1088489

#TimeUsernameProblemLanguageResultExecution timeMemory
1088489StaheosStove (JOI18_stove)C++14
0 / 100
0 ms344 KiB
#include <iostream>
#include <queue>

using namespace std;

int main()
{
	int n, k;
	cin >> n >> k;
	int s = n;

	int* t = new int[n];
	for (int i = 0; i < n; i++)
	{
		cin >> t[i];
	}

	auto q = priority_queue<int>();
	for (int i = 1; i < n; i++)
	{
		if (t[i - 1] != t[i] - 1)
		{
			q.push(t[i] - t[i - 1] - 1);
		}
		else
		{
			s--;
		}
	}

	k--;
	while (k > 0 && !q.empty())
	{
		q.pop();
		k--;
	}

	while (!q.empty())
	{
		s += q.top();
		q.pop();
	}

	cout << s << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...