제출 #1331197

#제출 시각아이디문제언어결과실행 시간메모리
1331197tsetsenbilegBoxes with souvenirs (IOI15_boxes)C++20
0 / 100
1 ms344 KiB
#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
using ll = long long;
using pr = pair<ll, int>;
const int INF = 1e9+7, MOD = 1e9+7;
vector<int> a;

long long delivery(int n, int k, int l, int p[]) {
    a.resize(n+1, 0);
    for (int i = 0; i < n; i++) a[i+1] = p[i];
    vector<ll> dp(n+1, INF);
    dp[0] = 0;
    multiset<pr> cur;
    cur.insert({0, 0});
    for (int i = 1; i <= n; i++) {
        if (i > k) {
            cur.erase(cur.find({dp[i-k-1], i-k-1}));
        }
        // for (auto j : cur) cout << j.first << ' ';
        cout << '\n';
        auto [mn, ind] = *cur.begin();
        int d = min({a[i] * 2, (l - ind) * 2, l});
        dp[i] = mn + d;
        cur.insert({dp[i], i});
    }
    // cout << dp[n];
    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...