Submission #1195052

#TimeUsernameProblemLanguageResultExecution timeMemory
1195052n3rm1nBoxes with souvenirs (IOI15_boxes)C++20
25 / 100
0 ms328 KiB
#include "boxes.h" #include "bits/stdc++.h" using namespace std; const int maxn = 1e6 + 10; long long n, k, l; long long pref[maxn], suff[maxn]; long long delivery(int N, int K, int L, int p[]) { n = N; k = K; l = L; long long ans = n * l; if(n < k) { ans = min(ans, l); } for (int i = 0; i < n; ++ i) { pref[i] = p[i] * 2; if(i - k >= 0) pref[i] += pref[i - k]; } for (int i = n-1; i >= 0; -- i) { suff[i] = (l - p[i]) * 2; if(i + k < n) { suff[i] += suff[i + k]; } } ans = min(ans, min(pref[n-1], suff[0])); for (int i = 0; i < n; ++ i) { ans = min(ans, pref[i] + suff[i+1]); } if(n < k)return ans; for (int i = 0; i < n; ++ i) { ans = min(ans, l + pref[i] + suff[i + k + 1]); } 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...