Submission #1070734

#TimeUsernameProblemLanguageResultExecution timeMemory
1070734dostsStove (JOI18_stove)C++17
100 / 100
15 ms2412 KiB
//Dost SEFEROĞLU
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pii pair<int,int>
#define ff first
#define ss second
#define sp << " " <<    
#define all(cont) cont.begin(),cont.end()
#define vi vector<int>
const int MOD = 1e9+7,inf = 2e18;
const int N = 1e5+50;
 
void solve() { 
    int n,k;
    cin >> n >> k;
    vi a(n+1);
    for (int i=1;i<=n;i++) cin >> a[i];
    int ans = inf;
    int sm = a[n]-a[1];
    vi diffs;
    for (int i=2;i<=n;i++) diffs.push_back(a[i]-a[i-1]);
    sort(all(diffs),greater<int>());
    diffs.push_back(0);
    for (int i=1;i<=k;i++) {
        ans = min(ans,sm+i);
        sm-=diffs[i-1];
    }
    cout << ans << endl;
}
 
signed main() { 
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    #ifdef Dodi
        freopen("in.txt","r",stdin);
        freopen("out.txt","w",stdout);
    #endif
    int t = 1;
    //cin >> t; 
    while (t --> 0) solve();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...