Submission #1037999

#TimeUsernameProblemLanguageResultExecution timeMemory
1037999vjudge1Roller Coaster Railroad (IOI16_railroad)C++17
34 / 100
46 ms8540 KiB
#include "railroad.h" #include<bits/stdc++.h> using namespace std; using lint=long long; lint plan_roller_coaster(std::vector<int> s, std::vector<int> t) { int n = (int) s.size(); if(n<=16){ lint dp[1<<n][n]; for(int i=0;i<1<<n;i++){ for(int j=0;j<n;j++){ dp[i][j]=LLONG_MAX; } } for(int i=0;i<n;i++){ dp[1<<i][i]=0; } for(int mask=1;mask<1<<n;mask++){ for(int i=0;i<n;i++){ if((mask>>i)&1){ for(int j=0;j<n;j++){ if(!((mask>>j)&1)){ int to=mask|(1<<j); lint cost=t[i]-s[j]; if(cost<0)cost=0; if(dp[mask][i]+cost<dp[to][j]){ dp[to][j]=dp[mask][i]+cost; } } } } } } lint ans=LLONG_MAX; for(int i=0;i<n;i++){ if(dp[(1<<n)-1][i]<ans){ ans=dp[(1<<n)-1][i]; } } return ans; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...