Submission #703922

#TimeUsernameProblemLanguageResultExecution timeMemory
703922ngano_upat_naStove (JOI18_stove)C++17
100 / 100
21 ms3352 KiB
#include "bits/stdc++.h" using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n, k; cin >> n >> k; vector<int> v(n); for (auto &e:v) cin >> e; vector<pair<int,int>> intervals; int l = v[0], r = v[0] + 1; int cur = v[0]; for (int i=1; i<n; i++) { if (v[i] == cur+1) { r = v[i] + 1; } else { intervals.push_back({l,r}); l = v[i]; r = v[i] + 1; } cur = v[i]; } intervals.push_back({l,r}); int sz = intervals.size(); int sum = 0; for (auto &e:intervals) { sum += (e.second - e.first); } vector<int> gap; for (int i=1; i<sz; i++) { int dif = intervals[i].first - intervals[i - 1].second; gap.push_back(dif); sum += dif; } sort(gap.rbegin(),gap.rend()); for (int i=0; i<min(k-1,(int)gap.size()); i++) { sum -= gap[i]; } cout << sum; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...