Submission #65284

#TimeUsernameProblemLanguageResultExecution timeMemory
65284KHUSRAVBoxes with souvenirs (IOI15_boxes)C++14
0 / 100
4 ms376 KiB
#include "boxes.h" #include<bits/stdc++.h> using namespace std ; long long delivery(int N, int K, int L, int p[]) { int l = -1 ; int r = N ; long long ans = 1e18 ; while(l + 1 < r){ int m = (l + r) / 2 ; if(p[m] <= L / 2) l = m ; else r = m ; } for(int i = 0 ; i <= N ; i ++){ long long s = 0 ; for(int j = l ; j >=0 ; j -= K){ s = s + 2 * p[j]; } for(int j = r ; j < N ; j += K){ s = s + 2 * (L - p[j]); } ans = min(ans , i * L * 1ll + s); for(int j = 1 ; j <= K ; j ++){ if(l >= 0 && r < N){ if(L / 2 - p[l] <= p[r] - L / 2){ l -- ; } else r ++ ; } else if(l >= 0) l -- ; else if(r < N) r ++ ; } } 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...