# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
364022 | 2021-02-08T04:35:57 Z | wind_reaper | Boxes with souvenirs (IOI15_boxes) | C++17 | 0 ms | 0 KB |
#include "boxes.h" #include <bits/stdc++.h> using namespace std; long long delivery(int N, int K, int L, int p[]) { long long ans = 1e18; vector<int> P; P.push_back(0); for(int i = 0; i < N; i++) P.push_back(p[i]); P.push_back(L); for(int i = 0; i < N; i++){ ans = min(ans, (long long)2*P[i] + (long long)L - P[i+1]); } return ans; } /* dp[i][2] -> min time to get clockwise, min time to get in counterclockwise dp[i][0] = (dp[i-k][0] + 2*x[i-k] + x[i]) dp[i][1] = (dp[i+k][1] + 2*(L - x[i+k]) + L - x[i])