#include "bits/stdc++.h"
// #include "grader.cpp"
#include "railroad.h"
using namespace std;
#define ll long long
#define N 200005
#define ff first
#define ss second
ll a[N], answer = LLONG_MAX, n;
vector <int> s1, t1;
set <int> p;
map <set<int>, ll> vis;
ll solve(int x,ll op) {
if(!(int)p.size()){
answer = min(answer,op);
return 0;
}
// cout << op << " " << x << '\n';
// if(vis.find(p) != vis.end()) {
// answer = min(vis[p] + op, answer);
// return vis[p];
// }
ll calc = LLONG_MAX, val = op;
for(int i = 0; i < n; i++) {
if(p.find(i) == p.end()) continue;
p.erase(i);
calc = min(solve(i,val + max(0,t1[x] - s1[i])),calc);
p.insert(i);
}
// vis[p] = calc;
// answer = min(answer,calc + val);
// cout << calc << " " << val<< '\n';
return calc;
}
ll plan_roller_coaster(vector<int> s, vector<int> t) {
n = (int)s.size();
s1 = s, t1 = t;
for(int i = 0; i < n; i++) {
p.insert(i);
}
for(int i = 0; i < n; i++) {
p.erase(i);
solve(i, 0);
p.insert(i);
}
return answer;
}
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... |