Submission #94593

#TimeUsernameProblemLanguageResultExecution timeMemory
94593wxh010910Boxes with souvenirs (IOI15_boxes)C++17
100 / 100
565 ms196128 KiB
#include <bits/stdc++.h> #include "boxes.h" using namespace std; long long delivery(int N, int K, int L, int p[]) { K = min(K, N); vector<long long> foo(N + 1); for (int i = 0; i < N; ++i) { foo[i + 1] = 2 * p[i]; if (i >= K) { foo[i + 1] += foo[i + 1 - K]; } } vector<long long> bar(N + 1); for (int i = N - 1; ~i; --i) { bar[i] = 2 * (L - p[i]); if (i <= N - K) { bar[i] += bar[i + K]; } } long long ans = foo[N]; for (int i = 0; i < N; ++i) { ans = min(ans, foo[i] + bar[i]); } for (int i = 0; i <= N - K; ++i) { ans = min(ans, foo[i] + bar[i + K] + 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...