Submission #771161

#TimeUsernameProblemLanguageResultExecution timeMemory
771161Tkm_algoStove (JOI18_stove)C++17
100 / 100
19 ms3236 KiB
#include "bits/stdc++.h" using namespace std; using ll = long long; void solve() { int n, k; cin >> n >> k; vector<ll> a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } sort(a.begin(), a.end()); ll ans = a[n - 1] - a[0] + 1; k--; int l = 0; vector<ll> t; while (l < n) { while (l < n - 1 && a[l] + 1 == a[l + 1]) { l++; } if (l < n - 1) { t.push_back(a[l + 1] - a[l] - 1); } l++; } sort(t.rbegin(), t.rend()); for (int i = 0; i < min(k, (int)t.size()); i++) { ans -= t[i]; } cout << ans << '\n'; } int main() { ios::sync_with_stdio(false); cin.tie(0); int test = 1; // cin >> test; while (test--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...