This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "railroad.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int MAXN = 1e6+5;
#define all(x) x.begin(), x.end()
#define mk make_pair
#define pb push_back
#define fr first
#define sc second
ll dp[20][(1<<16)+5];
ll plan_roller_coaster(vector<int> s, vector<int> t) {
int n = (int)s.size();
for(int mask = 1; mask < (1<<n); mask++)
for(int j = 0; j < n; j++)
dp[j][mask] = 1e18;
for(int i = 0; i < n; i++)
dp[i][(1<<i)] = 0;
for(int mask = 1; mask < (1<<n); mask++) {
for(int j = 0; j < n; j++) {
if(((1 << j) & mask) == 0) continue;
for(int i = 0; i < n; i++) {
if((1 << i) & mask) continue;
dp[i][mask + (1 << i)] = min(dp[i][mask + (1 << i)], dp[j][mask] + max(t[j]-s[i], 0));
}
}
}
ll resp = 1e18;
for(int i = 0; i < n; i++)
resp = min(resp, dp[i][(1<<n) - 1]);
return resp;
}
# | 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... |