Submission #420289

#TimeUsernameProblemLanguageResultExecution timeMemory
420289AzimjonBoxes with souvenirs (IOI15_boxes)C++17
20 / 100
1 ms292 KiB
#include "boxes.h" #include <bits/stdc++.h> using namespace std; const int INF = 2e9; long long delivery(int n, int k, int L, int p[]) { long long ans = 0; double ur = L / 2; int l, r; l = 0; r = n - 1; while (l + k - 1 < n && p[l + k - 1] <= ur) { ans += 2 * p[l + k - 1]; l += k; } // cerr << ans << endl; while (r - k + 1 >= 0 && p[r - k + 1] > (ur)) { ans += 2 * (L - p[r - k + 1]); r -= k; } int i; for (i = l; i <= r; i++) { if (p[i] > ur) break; } long long qo = 2 * p[i - 1] + 2 * (L - p[i]); int qs = (r - l + 1); if (qs <= 0) return ans; qo = min(qo, (long long)ceil(1. * qs / k) * L); return ans + qo; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...