This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "boxes.h"
#include<bits/stdc++.h>
using namespace std ;
long long delivery(int N, int K, int L, int p[]) {
int l = 0 ;
int r = N - 1 ;
long long ans = 1e18 ;
while(l + 1 < r){
int m = (l + r) / 2 ;
if(p[m] <= L / 2) l = m ;
else r = m ;
}
if(p[l] > L / 2){
r = l ;
l -- ;
}
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 + 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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |