제출 #1307053

#제출 시각아이디문제언어결과실행 시간메모리
1307053viroidBoxes with souvenirs (IOI15_boxes)C++20
100 / 100
349 ms196248 KiB
#include "boxes.h" #include "bits/stdc++.h" using namespace std; long long delivery(int n, int k, int l, int a[]) { vector<long long> dp(n + 5, 0), cdp(n + 5, 0); for(int i = 0; i < n; i++){ if(i - k >= 0) dp[i] = dp[i - k] + 2 * a[i]; else dp[i] = 2 * a[i]; } for(int i = n - 1; i >= 0; i--){ if(i + k < n) cdp[i] = cdp[i + k] + 2 * (l - a[i]); else cdp[i] = 2 * (l - a[i]); } long long res = min(dp[n - 1], cdp[0]); for(int i = 0; i < n - 1; i++){ res = min(res, dp[i] + cdp[i + 1]); } res = min(res, min(dp[n - k], cdp[k]) + l); for(int i = k; i < n; i++){ res = min(res, dp[i - k] + cdp[i + 1] + l); } 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...