제출 #793546

#제출 시각아이디문제언어결과실행 시간메모리
793546UltraFalcon선물상자 (IOI15_boxes)C++17
0 / 100
1 ms340 KiB
// pragmas #ifndef DEBUG #endif #include <bits/stdc++.h> #include "boxes.h" // #define int long long using ll = long long; using namespace std; long long delivery(int N, int K, int L, int p[]) { set<int> used; // map<int, vector<int>> locs; map<int, int> loc_cnt; for (int i=0; i<N; i++) { // locs[p[i]].push_back(i); loc_cnt[p[i]]++; used.insert(p[i]); } int res = 0; int last = 0; int cur = 0; int i; for (auto idx : used) { i = idx; while (loc_cnt[i] > 0) { if (last==-1) last=i; if (cur + loc_cnt[i] >= K) { // cerr << min(i, N-i) << "-\n"; loc_cnt[i] -= K-cur; res += i-last + min(i, L-i) + min(last, L-last); last = -1; cur = 0; } else { cur += loc_cnt[i]; loc_cnt[i] = 0; } } // cerr << res << "\n"; } if (cur > 0) { // cerr << i-last << "-\n"; res += i-last + min(i, L-i) + min(last, L-last); last = i; cur = 0; } 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...