#include "railroad.h"
#include <bits/stdc++.h>
#define all(a) a.begin(), a.end()
#define rep(a,b,c) for(int a=b; a<c; a++)
#define repa(a,b) for(auto a:b)
#define ll long long
#define pb push_back
#define ppb pop_back
#define pf push_front
#define ppf pop_front
#define pii pair<int, int>
#define fi first
#define se second
#define mid ((l+r)>>1)
using namespace std;
using vi = vector<int>;
const ll inf=1e18;
long long plan_roller_coaster(vector<int> s, vector<int> t) {
int n = s.size();
if(n>16) return -1;
ll ans=inf;
ll dp[1<<n][n];
rep(i,0,1<<n) rep(j,0,n) dp[i][j]=inf;
rep(i,0,n) dp[1<<i][i]=0;
rep(i,1,1<<n){
rep(j,0,n){
if((i>>j)&1) continue;
int z=i|(1ll<<j);
rep(k,0,n) dp[z][j]=min(dp[z][j],dp[i][k]+max(0,t[k]-s[j]));
}
}
rep(i,0,n) ans=min(ans,dp[(1<<n)-1][i]);
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... |