Submission #238591

#TimeUsernameProblemLanguageResultExecution timeMemory
238591rahul_a_nStove (JOI18_stove)C++14
100 / 100
74 ms3292 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define pb(x) push_back(x)
#define PI pair<int,int>
#define PL pair<long int,long int>
#define PLL pair<ll,ll>
#define Tcase int t;cin>>t;while(t--)
#define MOD 1000000007
#define all(x) x.begin(),x.end()
#define MAXN 200005
#define F first
#define S second
int main() {

/*#ifndef ONLINE_JUDGE
	// for getting input from input.txt
	freopen("input.txt", "r", stdin);
	// for writing output to output.txt
	freopen("output.txt", "w", stdout);
#endif*/
	ll n, k;
	cin >> n >> k;
	long int t[n];
	vector<long int>ans;
	for (int i = 0; i < n; i++)cin >> t[i];
	for (int i = 0; i < n - 1; i++)ans.pb(t[i] - t[i + 1] + 1);
	ll tot = t[n - 1] - t[0] + 1;
  ll tot1 = t[n - 1] - t[0] + 1;
	sort(all(ans));
  for(int i = 0;i < k - 1; i++)tot1+=ans[i];
  reverse(all(ans));
	for (int i = 0; i < k - 1; i++)tot += ans[i];
	cout << min(tot,tot1) << "\n";
  ans.clear();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...