제출 #1049725

#제출 시각아이디문제언어결과실행 시간메모리
1049725vjudge1Stove (JOI18_stove)C++17
100 / 100
28 ms2356 KiB
#pragma GCC optimize("O3")
#pragma GCC target("avx2")
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <cstdlib>
#include <time.h>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <bits/stdc++.h>

#define speed ios_base::sync_with_stdio(0), cin.tie(0)
#define TxtIO freopen("points.in","r",stdin); freopen("points.out","w",stdout);
using namespace std;
const int mod = 998244353;
#define ll long long
const int N=2e5+5;

//mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());

ll binpow (ll a, ll n) {
	ll res = 1;
	while (n) {
		if (n & 1)
			res = res * a;
		a = a * a;
		n >>= 1;
	}
	return res;
}




void fcn(){
	ll n,k;
	cin>>n>>k;
	ll a[n+3];
	vector <ll> v;
	for (int i=0; i<n; i++){
		cin>>a[i];
	}
	for (int i=1; i<n; i++){
		v.push_back(a[i]-a[i-1]);
	}
	
	sort(v.begin(),v.end());
	ll ans=0;
	for (int i=0; i<n-k; i++){
		ans+=v[i];
	}
	
	ans+=k-1;
	cout<<ans+1;
	
	
	
	
	
	
}                        

int main(){
	//srand(time(0));
	//fflush(stdout);
//	freopen("bridges.in","r",stdin); freopen("bridges.out","w",stdout);
	
	
//	speed;
	ll T=1;
//	cin>>T;
	for (int i=1; i<=T; i++){
		fcn();	
	}
}




 

/*

1
2 3
4 5
6 7


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