Submission #699133

#TimeUsernameProblemLanguageResultExecution timeMemory
699133epicci23선물상자 (IOI15_boxes)C++17
0 / 100
0 ms212 KiB
#include "boxes.h"
#include "bits/stdc++.h"
using namespace std;

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

 long long dp[N+1],dp2[N+1];

 for(int i=1;i<=K;i++) dp[i]=2*min(L-p[i],p[i]);
 for(int i=K+1;i<=N;i++) dp[i]=dp[i-K] + min(p[i]+min(p[i],L-p[i]),L-p[i-K+1]+min(L-p[i-K+1],p[i-K+1]));

 for(int i=N;i>=N-K+1;i--) dp2[i]=2*min(L-p[i],p[i]);
 
 for(int i=N-K;i>=1;i--) dp2[i]=dp2[i+K] + min(p[i+K-1]+min(L-p[i+K-1],p[i+K-1]),L-p[i]+min(L-p[i],p[i]));
 
 long long ans=min(dp2[1],dp[N]);
 
 for(int i=1;i<N;i++) ans=min(ans,dp[i]+dp2[i+1]);

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