#include "railroad.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
using vi =vector<int>;
using vvi = vector<vi>;
using vl = vector<ll>;
using vvl = vector<vl>;
using pi = pair<ll, ll>;
using vpi = vector<pi>;
using vvpi = vector<vpi>;
using vb = vector<bool>;
#define FOR(i, a, b) for (int i = a; i < b; i++)
#define bg(x) (x).begin()
#define en(x) (x).end()
#define all(x) bg(x), en(x)
#define sz(x) int(x.size())
const ll INF = 4e18;
int n;
vvpi adj;
ll dfs(int u, vb vis, ll dist, vi order) {
vis[u] = true; order.push_back(u);
if (!count(all(vis), false)) {
return dist;
}
ll best = INF;
for (auto &el : adj[u]) {
int v = el.second; ll w = el.first;
if (vis[v]) continue;
best = min(best, dfs(v, vis, dist + w, order));
}
return best;
}
ll plan_roller_coaster(vi s, vi t) {
n = sz(s); adj.assign(n+1, vpi());
FOR(i, 0, n) {
adj[n].push_back({0, i});
FOR(j, 0, n) {
if (i == j) continue;
adj[i].push_back({max(0, t[i] - s[j]), j});
}
}
ll ans = dfs(n, vb(n+1, false), 0LL, vi());
return ans;
}
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... |