Submission #1270441

#TimeUsernameProblemLanguageResultExecution timeMemory
1270441cmiucBoxes with souvenirs (IOI15_boxes)C++20
100 / 100
350 ms196640 KiB
#include <iostream> #include <vector> #include <algorithm> #include "boxes.h" using namespace std; long long pre[10000007], suf[10000007]; long long delivery(int n, int k, int l, int p[]){ k = min(k, n); for (int i=n-1;i>=0;i--){ if (i + k >= n) suf[i] = (l - p[i]) * 2; else suf[i] = suf[i + k] + (l - p[i]) * 2; } long long Ans = min(suf[0], l + suf[k]); for (int i=0;i<n;i++){ if (i < k) pre[i] = p[i] * 2; else pre[i] = pre[i - k] + p[i] * 2; if (i + k < n) Ans = min(Ans, pre[i] + min(suf[i+1], suf[i + k + 1] + l)); else Ans = min(Ans, pre[i] + min(suf[i + 1], 0LL + l)); } return Ans; }
#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...