#include "railroad.h"
#include<bits/stdc++.h>
#define int long long
#define vi vector<int>
#define pb push_back
#define eb emplace_back
#define f0r(i,n) for(int i = 0; i < n; i++)
#define FOR(i,k,n) for(int i = k; i < n; i++)
#define vvi vector<vi>
#define pii pair<int,int>
#define vpii vector<pii>
#define dout(x); cout<<x<<' '<<#x<<endl;
#define dout2(x,y); cout<<x<<' '<<#x<<' '<<y<<' '<<#y<<endl;
#define vout(v); for(auto u : v)cout<<u<<' '; cout<<endl;
using namespace std;
long long plan_roller_coaster(std::vector<signed> s, std::vector<signed> t) {
int n = s.size(); vpii w(n); f0r(i,n)w[i].first=s[i],w[i].second=t[i]; vvi dp(n, vi((1LL << n), 4e18)); f0r(i,n)dp[i][(1LL << i)]=0;
FOR(i,1,(1LL << n)){
if(__builtin_popcount(i)==1)continue;
f0r(j,n)if((1LL<<j)&i){
f0r(k,n)if((1<<k)&i){
dp[j][i] = min(dp[j][i], dp[k][i - (1<<j)] + max(0LL, w[k].second - w[j].first));
}
}
}
int ans = 4e18; f0r(i,n){
ans = min(ans, dp[i][(1<<n)-1]);
}
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... |