Submission #825187

#TimeUsernameProblemLanguageResultExecution timeMemory
825187NhanBeooStove (JOI18_stove)C++17
100 / 100
20 ms2292 KiB
#include <bits/stdc++.h>
using namespace std;

// #define int ll
#define MAX LLONG_MAX
#define st first
#define nd second
#define endl '\n'
#define SZ(x) ((int)x.size())
#define ALL(x) x.begin(), x.end()
typedef long long ll;
typedef pair< int, int > ii;
typedef pair< int, ii > iii;
typedef vector< int > vi;
typedef vector< ii > vii;
typedef vector< iii > viii;
typedef vector< vi > vvi;
typedef vector< vii > vvii;
typedef vector< viii > vviii;

const int N = 1e5 + 5;
int a[N];
priority_queue<int, vi, greater<int>> q;

signed main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	int n, k; cin >> n >> k;
	for(int i=1; i<=n; i++) cin >> a[i];
	for(int i=2; i<=n; i++) q.push(a[i] - a[i-1] - 1);
	int match = n, ans = n;
	while(match > k){
		auto mini = q.top(); q.pop();
		match--;
		ans += mini;
	}
	cout << ans;
} 
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...