이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define INF 1000000000000000000
int n,k,l,m=-1;
ll x[5000005],y[5000005],q[10000005],ans=INF;
long long delivery(int N, int K, int L, int p[]) {
n=N,k=K,l=L;
for(int i=0;i<n;i++){
q[i]=p[i];
if(m==-1&&p[i]>l/2)m=i;
}
if(m==-1)m=n;
for(int i=m-1;i>=0;i-=k){
x[0]+=q[i]*2LL;
}
int r=0;
for(int i=m-2;i>=0;i--){
x[r%k+1]-=(q[i+1]-q[i])*2LL;
r++;
}
for(int i=1;i<=k;i++)x[i]+=x[i-1];
for(int i=m;i<n;i+=k){
y[0]+=(l-q[i])*2LL;
}
r=0;
for(int i=m+1;i<n;i++){
y[r%k+1]-=(q[i]-q[i-1])*2LL;
r++;
}
for(int i=1;i<=k;i++)y[i]+=y[i-1];
ans=x[0]+y[0];
for(int i=0;i<=k;i++){
ans=min(ans,ll(l)+x[i]+y[k-i]);
}
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... |