Submission #1330672

#TimeUsernameProblemLanguageResultExecution timeMemory
1330672lywoemStove (JOI18_stove)C++20
100 / 100
13 ms1988 KiB
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define l(a, b, i) for (ll i = a; i < b; i++)
#define rl(a, b, i) for (ll i = a; i >= b; i--)
#define vpair vector<pair<ll, ll>>
#define inf LLONG_MAX
#define ninf LLONG_MIN

int main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    ll N, K; cin >> N >> K; vector<ll> vec(N + 1, 0);
    l(1, N + 1, i) cin >> vec[i];

    ll begin = vec[1], end = vec[N];

    vector<ll> empt(N, 0);
    l(2, N + 1, i) empt[i - 1] = vec[i] - vec[i - 1] - 1;

    if (N <= K) {
        cout << N; return 0;
    }

    sort(empt.begin() + 1, empt.end());
    //l(1, N, i) cout << empt[i] << ' ';
    //cout << "\n";
    ll excess = (N - 1) - (K - 1);
    //cout << excess << "\n";

    ll ans = N;
    l(1, excess + 1, i) ans += empt[i];

    cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...