Submission #290475

#TimeUsernameProblemLanguageResultExecution timeMemory
290475peti1234Roller Coaster Railroad (IOI16_railroad)C++17
0 / 100
79 ms10616 KiB
#include <bits/stdc++.h>

using namespace std;
int c, n;
long long dp[65536][16], mini=1e18;
long long plan_roller_coaster(vector<int> a, vector<int> b) {
    n=a.size(), c=(1<<n);
    for (int i=1; i<c; i++) for (int j=0; j<n; j++) dp[i][j]=1e18;
    for (int i=0; i<c; i++) for (int j=0; j<n; j++) for (int k=0; k<n; k++) {
        int h=(1<<k);
        if ((!i || i&(1<<j)) && !(i&h)) dp[i+h][k]=min(dp[i+h][k], dp[i][j]+max(0, b[j]-a[k]));
    }
    for (int i=0; i<n; i++) mini=min(mini, dp[c-1][i]);
    return mini;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...