제출 #1357529

#제출 시각아이디문제언어결과실행 시간메모리
1357529maya_s선물상자 (IOI15_boxes)C++20
50 / 100
2096 ms19944 KiB
// #include "boxes.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll inf = 1e18;
ll n, k, l;
vector<ll> v(1001000);

ll cost(ll i, ll j){
    if(j - i + 1 > k) return inf;
    if(v[j] <= l/2) return 2 * v[j];
    if(v[i] > l/2) return 2 * (l - v[i]);
    return l;
}

long long delivery(int N, int K, int L, int V[]) {
    n = N, k = K, l = L;
    for(ll i = 1; i <= n; i++) v[i] = V[i-1];
    vector<ll> dp(n+1, inf); dp[0] = 0;
    for(ll i = 1; i <= n; i++) for(ll j = i; j > 0; j--) dp[i] = min(dp[i], dp[j-1] + cost(j, i));
    return dp[n];
}
#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...