Submission #1178504

#TimeUsernameProblemLanguageResultExecution timeMemory
1178504sleepntsheepBoxes with souvenirs (IOI15_boxes)C11
0 / 100
0 ms328 KiB
#include "boxes.h"
#include <stdio.h>

long long delivery(int N, int K, int L, int p[]) {
    if(K>N)K=N;
    static long long z,l[1000000],r[1000000];
    z=1e18;

    for(int i=0;i<N;++i){
        if(i<K)l[i]=p[i]*2;
        else l[i]=l[i-K]+p[i]*2;
    }
    for(int i=N-1;i>=0;--i){
        if(i+K>=N)r[i]=(L-p[i])*2;
        else r[i]=r[i+K]+(L-p[i])*2;
    }

    for(int i=0;i+1<N;++i)if(l[i]+r[i+1]<z)z=l[i]+r[i+1];
    for(int i=1;i<N;++i)if(r[i]+l[i-K-1]<z)z=r[i]+l[i-K-1]+L;
    if(L+(K<N?r[K]:0)<z)z=L+(K<N?r[K]:0);
    if(K<N&&L+l[N-K-1]<z)z=L+l[N-K-1];

    return z;
}

#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...