Submission #618985

#TimeUsernameProblemLanguageResultExecution timeMemory
618985A_DBoxes with souvenirs (IOI15_boxes)C++14
20 / 100
1 ms340 KiB
#include "boxes.h"

#include <bits/stdc++.h>


using namespace std;



const int N=1e7+10;


long long pre[N];
long long suf[N];



long long delivery(int N, int K, int L, int p[]) {

    long long ans=1e18;

    long long me=0,cur=0,lst=0;


    for(int i=0;i<N;i++){
        long long h=p[i];
        me+=abs(h-lst);
        cur++;
        pre[i]=me+min(h,L-h);
        if(cur==K){
            me+=min(h,L-h);
            cur=0;
            me+=min(h,L-h);
        }
        lst=p[i];
    }
    ans=pre[N-1];

    me=0,cur=0,lst=L;

    for(int i=N-1;i>=0;i--){
        long long h=p[i];
        me+=abs(h-lst);
        cur++;
        suf[i]=me+min(h,L-h);
        if(cur==K){
            me+=min(h,L-h);
            cur=0;
            me+=min(h,L-h);
        }
        lst=p[i];
    }

    for(int i=0;i<N-1;i++){
        ans=min(ans,pre[i]+suf[i+1]);
    }

    ans=min(ans,suf[0]);

    return ans;
}










Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:18:24: warning: declaration of 'N' shadows a global declaration [-Wshadow]
   18 | long long delivery(int N, int K, int L, int p[]) {
      |                    ~~~~^
boxes.cpp:10:11: note: shadowed declaration is here
   10 | const int N=1e7+10;
      |           ^
#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...