Submission #931477

#TimeUsernameProblemLanguageResultExecution timeMemory
931477mariaclaraRoller Coaster Railroad (IOI16_railroad)C++17
34 / 100
43 ms27416 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...