#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |