제출 #93499

#제출 시각아이디문제언어결과실행 시간메모리
93499tincamatei선물상자 (IOI15_boxes)C++14
100 / 100
633 ms196088 KiB
#include <bits/stdc++.h> #include "boxes.h" const int MAX_N = 10000000; long long pref[1+MAX_N], suff[1+MAX_N]; long long cost(int i, int j, int l, int k, int n) { return pref[i] + suff[j] + (long long)(n - i - j + k - 1) / k * l; } long long delivery(int n, int k, int l, int p[]) { long long rez = 1LL << 60; for(int i = 1; i <= n; ++i) { if(i - k >= 0) pref[i] = pref[i - k]; pref[i] = pref[i] + p[i - 1] * 2; } for(int i = 1; i <= n; ++i) { if(i - k >= 0) suff[i] = suff[i - k]; suff[i] = suff[i] + (l - p[n - i]) * 2; } if(k > n) return l; for(int i = 0; i <= n; ++i) { rez = std::min(rez, cost(i, n - i, l, k, n)); if(n - i - k >= 0) rez = std::min(rez, cost(i, n - i - k, l, k, n)); } return rez; }
#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...