Submission #782693

#TimeUsernameProblemLanguageResultExecution timeMemory
782693Sohsoh84Boxes with souvenirs (IOI15_boxes)C++17
10 / 100
2 ms340 KiB
#include "boxes.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; const ll MAXN = 2e7 + 10; ll ps[MAXN], ss[MAXN]; long long delivery(int N, int K, int L, int p[]) { sort(p, p + N); for (int i = 0; i < N; i++) { ps[i] = numeric_limits<ll>::max(); if (i < K) ps[i] = 2 * p[i]; else { for (int j = i - 1; j >= i - K; j--) ps[i] = min(ps[i], ps[j] + p[i] + min(L - p[i], p[i])); } } ss[N] = 0; for (int i = N - 1; i >= 0; i--) { ss[i] = numeric_limits<ll>::max(); for (int j = i + 1; j <= i + K; j++) ss[i] = min(ss[i], ss[j] + (L - p[i]) + min(L - p[i], p[i])); } ll ans = ps[N - 1]; for (int i = 0; i < N; i++) ans = min(ans, ps[i] + ss[i + 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...