Submission #963646

#TimeUsernameProblemLanguageResultExecution timeMemory
963646hirayuu_oj선물상자 (IOI15_boxes)C++17
10 / 100
1 ms348 KiB
#include "boxes.h"
#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0; i<(n); i++)
#define all(x) x.begin(),x.end();
using ll=long long;
const ll INF=1LL<<60;

long long delivery(int N, int K, int L, int p[]) {
    vector<ll> dp(N+1,0);
    rep(i,N){
        dp[i+1]=p[i]+dp[max(0,i+1-K)]+min(p[i],L-p[i]);
    }
    vector<ll> dp2(N+1,0);
    for(int i=N-1;i>=0;i--){
        p[i]=(L-p[i])%L;
        dp2[i]=p[i]+dp2[min(N,i+K)]+min(p[i],L-p[i]);
    }
    ll ans=INF;
    rep(i,N+1){
        ans=min(ans,dp[i]+dp2[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...