Submission #993781

#TimeUsernameProblemLanguageResultExecution timeMemory
993781phoenixBoxes with souvenirs (IOI15_boxes)C++17
50 / 100
2066 ms29608 KiB
#include "boxes.h" #include <bits/stdc++.h> using namespace std; using ll = long long; const int N = 10000010; ll pre[N]; ll suf[N]; ll delivery(int n, int k, int L, int p[]) { ll res = 1e18; for (int i = 0; i < n; i++) { pre[i] = (2 * p[i]); if (i >= k) pre[i] += pre[i - k]; } for (int i = n - 1; i >= 0; i--) { suf[i] = (2 * (L - p[i])); if (i < n - k) suf[i] += suf[i + k]; } for (int l = -1; l < n; l++) { for (int r = l + 1; r <= n; r++) { ll val = 0; if (l >= 0) val += pre[l]; if (r < n) val += suf[r]; val += 1ll * ((r - l - 1) + k - 1) / k * L; res = min(res, val); } } return res; }
#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...