#include <bits/stdc++.h>
using namespace std;
long long delivery(int N, int K, int L, int p[]){
int cut=L/2, lo, hi;
long long ans=LLONG_MAX;
vector<int> a,b;
for(int i=0;i<N;i++){
if(cut>=p[i]){
a.push_back(p[i]);
}else{
b.push_back(p[i]);
}
}
for(int i=0;i<N;i++){
if(p[i]<=cut){
lo=i;
}else{
hi=i;
break;
}
}
long long norm=0;
for(int i=hi-(K-1); i<min(N, lo+(K-1)); i++){
long long cur=L;
for(int j=i-1; j>=0; j-=K){
cur+=p[j]*2;
}
for(int j=i+K+1; j<N; j+=K){
cur+=(L-p[j])*2;
}
ans=min(ans, cur);
}
for(int i=int(a.size())-1;i>=0;i-=K){
norm+=a[i]*2;
}
for(int i=0;i<int(b.size());i+=K){
norm+=(L-b[i])*2;
}
//cout<<norm<<" "<<ans<<endl;
return min(norm, 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... |