Submission #1018722

#TimeUsernameProblemLanguageResultExecution timeMemory
1018722vjudge1Parkovi (COCI22_parkovi)C++17
0 / 110
124 ms6040 KiB
#include <bits/stdc++.h> using namespace std; #define int int64_t int n, k; vector<bool> ans; bool f(vector<int> const& a, int m) { int curk = 1, cur = 0; bool flag = true; ans[0] = false; for(int i = 1; i < n; i ++) { if(a[i] - cur > m) { if(flag) { cur = a[i - 1]; flag = false; ans[i - 1] = true; } else { flag = true; cur = a[i]; curk ++; } } ans[i] = false; } return curk <= k; } int32_t main() { cin >> n >> k; vector<int> a(n, 0); ans.assign(n, false); for(int i = 1; i < n; i ++) { int d, b, c; cin >> d >> b >> c; a[i] = c; } for(int i = 1; i < n; i ++) a[i] += a[i-1]; int l = 1, r = 1e18; while(r - l > 1) { int m = (l + r) >> 1; bool cur = f(a, m); if(cur) r = m; else l = m + 1; } cout << r << '\n'; for(int i = 0; i < n; i ++) if(ans[i]) cout << i + 1 << ' '; cout << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...