제출 #587088

#제출 시각아이디문제언어결과실행 시간메모리
587088fuad27Stove (JOI18_stove)C++17
100 / 100
24 ms2644 KiB
/*
 * Created: 2022-07-01 13:42
*/
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace __gnu_pbds;
using namespace std;
using namespace chrono;
// using namespace atcoder

template <typename T>
using ordered_set =
    tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;

typedef long long ll;
typedef long double ld;
const ll inf = 1e18;

#define pii		pair<int,int>
#define pll		pair<ll,ll>
#define vi		vector<int>
#define vll		vector<ll>
#define rep(i, a, b)	for(int i = (a);i<(b);i++)
#define repn(i, a, b)	for(int i = (a);i>=(b);i--)
#define ss		second
#define ff		first
#define mkp		make_pair
#define pb		push_back

#define all(x)		(x).begin(), (x).end()

void solve() {
	int n, k;
	cin >> n >> k;
	ll a[n];
	rep(i, 0, n)cin >> a[i];
	ll d[n-1];
	rep(i, 1, n)d[i-1]=a[i]-a[i-1];
	sort(d, d+n-1);
	long long sum = k;
	for(int i = 0;i<n-k;i++)sum+=d[i];
	cout<<sum<<"\n";
}

int main () {
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t = 1;
	while(t--) {
		solve();
	}
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...