#include "railroad.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
using ll = long long;
using ld = long double;
using pr = pair<int, int>;
const int MOD = 1e9+7, MAXA = 1e6;
const ll INF = 1e18;
long long plan_roller_coaster(vector<int> s, vector<int> e) {
int n = (int) s.size();
vector<vector<ll>> dp((1 << n), vector<ll>(n, INF));
for (int i = 0; i < (1<<n); i++) {
vector<int> c;
for (int j = 0; j < n; j++) {
if (i & (1 << j)) c.pb(j);
}
if (c.size() == 1) dp[i][c[0]] = 0;
for (auto l : c) {
int cur = i ^ (1 << l);
for (auto r : c) {
if (l == r) continue;
ll cost = (e[r] > s[l]) ? e[r] - s[l] : 0;
dp[i][l] = min(dp[i][l], dp[cur][r] + cost);
}
}
}
return *min_element(dp[(1<<n)-1].begin(), dp[(1<<n)-1].end());
}