This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |