제출 #1284659

#제출 시각아이디문제언어결과실행 시간메모리
1284659kustov_vadim_533선물상자 (IOI15_boxes)C++20
100 / 100
285 ms117824 KiB
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;

mt19937 gen(chrono::steady_clock::now().time_since_epoch().count());

long long delivery(int N,int K,int L,int positions[]){
	vector<ll> dp(N + 1, 1e18);
	dp[0] = 0;
	for (int i = 0; i < N; ++i){
		dp[i + 1] = min(dp[i + 1], positions[i] * 2ll + dp[max(0, i - K + 1)]);
		dp[i + 1] = min(dp[i + 1], L + dp[max(0, i - K + 1)]);
		dp[i + 1] = min(dp[i + 1], 2ll * (L - positions[max(0, i - K + 1)]) + dp[max(0, i - K + 1)]);
	}

	ll ans = dp[N];
	for (int i = 1; i <= K && i <= N; ++i){
		ans = min(ans, 2ll * (L - positions[N - i]) + dp[N - 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...