Submission #1338574

#TimeUsernameProblemLanguageResultExecution timeMemory
1338574piolk선물상자 (IOI15_boxes)C++20
50 / 100
38 ms27800 KiB
#include <bits/stdc++.h>
#include "boxes.h"
using namespace std;

constexpr long long inf=2e18;

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

    long long ans=inf;
    for (int i=0;i<=N;i++){
        ans=min(ans,l[i]+r[N-i]);
        ans=min(ans,l[i]+L+r[N-K-i]);
    }
    return ans;
}
#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...