Submission #1222487

#TimeUsernameProblemLanguageResultExecution timeMemory
1222487viduxRoller Coaster Railroad (IOI16_railroad)C++17
34 / 100
34 ms9032 KiB
#include "railroad.h" #include <bits/stdc++.h> #define fi first #define se second #define ALL(x) (x.begin()), (x.end()) #define DEBUG(x) cerr << #x << ": " << x << endl; #define DEBUG_ARR(x) cerr << #x << ": "; for (auto &y : x) cout << y << " "; cout << endl; #define SZ(x) ((int)x.size()) using namespace std; typedef long long ll; typedef vector<ll> vl; typedef vector<vl> vvl; typedef vector<int> vi; typedef vector<vi> vvi; typedef pair<int, int> pii; typedef pair<ll, ll> pll; long long plan_roller_coaster(std::vector<int> s, std::vector<int> t) { int n = SZ(s); vvl dp(n, vl(1<<n, 1e18)); for (int i = 0; i < n; i++) dp[i][1<<i] = 0; for (int mask = 1; mask < (1<<n); mask++) { for (int b = 0; b < n; b++) if (mask&(1<<b)) { int pr = mask&~(1<<b); for (int pb = 0; pb < n; pb++) if (pr&(1<<pb)) { dp[b][mask] = min(dp[b][mask], dp[pb][pr] + (ll)max(0, t[pb]-s[b])); } } } ll ans = 1e18; for (int i = 0; i < n; i++) ans = min(ans, dp[i][(1<<n)-1]); return ans; }

Compilation message (stderr)

railroad.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
railroad_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...