Submission #1244322

#TimeUsernameProblemLanguageResultExecution timeMemory
1244322SpyrosAlivRoller Coaster Railroad (IOI16_railroad)C++20
34 / 100
33 ms11192 KiB
#include "railroad.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long

const ll INF = 1e17;

long long plan_roller_coaster(std::vector<int> s, std::vector<int> t) {
    int n = s.size();
    vector<vector<ll>> dp(1 << n, vector<ll>(n, INF));
    for (int i = 0; i < n; i++) {
        dp[1 << i][i] = 0;
    }
    for (int mask = 1; mask < (1 << n); mask++) {
        for (int lst = 0; lst < n; lst++) {
            if (!((mask >> lst) & 1)) continue;
            for (int nxt = 0; nxt < n; nxt++) {
                if ((mask >> nxt) & 1) continue;
                int nxtMask = mask | (1 << nxt);
                dp[nxtMask][nxt] = min(dp[nxtMask][nxt], dp[mask][lst] + max(0LL, (ll)(t[lst] - s[nxt])));
            } 
        }
    }
    ll ans = INF;
    for (int i = 0; i < n; i++) ans = min(ans, dp[(1 << n) - 1][i]);
    return ans;
}
/*
int main() {
    int n; cin >> n;
    vector<int> s(n), t(n);
    for (auto &i: s) cin >> i;
    for (auto &i: t) cin >> i;
    cout << plan_roller_coaster(s, t) << "\n";
}*/

Compilation message (stderr)

railroad.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
railroad_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...