# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
467761 | Carmel_Ab1 | Boxes with souvenirs (IOI15_boxes) | C++17 | 14 ms | 304 KiB |
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 <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<ll>vl;
#include "boxes.h"
#define all(x) x.begin(),x.end()
//#include "grader.cpp"
ll dst(ll x,ll y,ll l){
return min(abs(x-y),x+abs(l-1-y)+1);
}
ll delivery(int N, int K, int L, int P[]) {
ll n=N,k=K,l=L;
vl p(n);
for(int i=0; i<n; i++)
p[i]=P[i];
ll ans=1e18;
for(int i=0; i<n ;i++){
ll cur=0,has=0,sum=0;
for(int j=0; j<=i; j++) {
if((j+1)%k==0)
sum+=2*p[j];
}
if((i+1)%k)
sum+=2*p[i];
for(int j=n-1; j>i; j--){
has++;
if(has%k==0 || j==i+1)
sum+=2*(l-p[j]);
}
ans=min(ans,sum);
}
for(int i=0; i<n; i++){
ll cur=0,has=0,sum=0;
for(int j=0; j<=i; j++) {
if((j+1)%k==0)
sum+=2*p[j];
}
if((i+1)%k)
sum+=2*p[i];
while((has%k)!=0)
has++;
sum+=l;
for(int j=n-1; j>has; j--){
has++;
if(has%k==0 || j==has+1)
sum+=2*(l-p[j]);
}
ans=min(ans,sum);
}
return ans;
}
Compilation message (stderr)
# | 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... |