제출 #1270410

#제출 시각아이디문제언어결과실행 시간메모리
1270410cmiuc선물상자 (IOI15_boxes)C++20
10 / 100
0 ms328 KiB
#include <iostream> #include <vector> #include <algorithm> #include "boxes.h" using namespace std; long long delivery(int n, int k, int l, int p[]){ vector<int> vec; for (int i=0;i<n;i++) if (p[i]) vec.push_back(p[i]); sort(begin(vec), end(vec)); long long Ans = 0, hf = l / 2; while (vec.size() >= k and vec[vec.size() - k] >= l - hf){ Ans += 2 * l - 2 * vec[vec.size() - k]; for (int i=0;i<k;i++) vec.pop_back(); } reverse(begin(vec), end(vec)); while (vec.size() >= k and vec[vec.size() - k] <= hf){ Ans += 2 * vec[vec.size() - k]; for (int i=0;i<k;i++) vec.pop_back(); } reverse(begin(vec), end(vec)); if (vec.size() == 0) return Ans; if (vec.size() <= k) return Ans + min(l, min(vec.back() * 2, l + l - 2 * vec[0])); return Ans + l + min(vec[vec.size() - k - 1] * 2, (l - vec[k]) * 2); }
#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...