# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1197480 | Aviansh | Roller Coaster Railroad (IOI16_railroad) | C++20 | 36 ms | 8616 KiB |
#include "railroad.h"
#include <bits/stdc++.h>
using namespace std;
long long plan_roller_coaster(std::vector<int> s, std::vector<int> t) {
int n = s.size();
assert(n<=16);
long long dp[n][(1<<n)];
for(int i = 0;i<n;i++){
fill(dp[i],dp[i]+(1<<n),2e18);
dp[i][(1<<i)]=0;
}
for(int mask = 1;mask<(1<<n);mask++){
for(int i = 0;i<n;i++){
if((1<<i)&mask){
for(int j = 0;j<n;j++){
if((1<<j)&mask){
if(j!=i){
dp[i][mask]=min(dp[i][mask],dp[j][mask^(1<<i)]+max(0,t[j]-s[i]));
}
}
}
}
}
}
long long ans = 2e18;
for(int i = 0;i<n;i++){
ans=min(dp[i][(1<<n)-1],ans);
}
return ans;
}
Compilation message (stderr)
# | 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... |