제출 #261294

#제출 시각아이디문제언어결과실행 시간메모리
261294amiratou선물상자 (IOI15_boxes)C++14
100 / 100
660 ms204004 KiB
#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long 

ll dp[10000007][2];

ll delivery(int N, int K, int L, int p[]) {
	for (int i = 0; i < N; ++i)
	{
		if(i<K)dp[i][0]=min(L,2*p[i]);
		else dp[i][0]=dp[i-K][0]+min(L,2*p[i]);
	}
	for (int i = N-1; i >= 0; i--)
	{
		if((K+i) >(N-1))dp[i][1]=min(L,2*(L-p[i]));
		else dp[i][1]=dp[i+K][1]+min(L,2*(L-p[i]));
	}
	ll ans=(ll)(1e18);
	for (int i = -1; i < N; ++i)
		ans=min(((i>=0)?dp[i][0]:0)+(((i+1)<N)?dp[i+1][1]:0),ans);
    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...