Submission #1199421

#TimeUsernameProblemLanguageResultExecution timeMemory
1199421raphaelpRoller Coaster Railroad (IOI16_railroad)C++20
34 / 100
36 ms9624 KiB
#include <bits/stdc++.h> #include "railroad.h" using namespace std; long long plan_roller_coaster(vector<int> s, vector<int> t) { int N = (int)s.size(); vector<vector<long long>> dp(N + 1, vector<long long>((1 << N), 100000000000000000)); dp[0][0] = 0; long long best = 100000000000000000; for (int mask = 0; mask < (1 << N); mask++) { for (int i = 0; i <= N; i++) { if (dp[i][mask] == 100000000000000000) continue; if (mask == (1 << N) - 1) best = min(best, dp[i][mask]); int speed = 1; if (i > 0) speed = t[i - 1]; for (int j = 0; j < N; j++) { if (mask & (1 << j)) continue; dp[j + 1][mask | (1 << j)] = min(dp[j + 1][mask | (1 << j)], dp[i][mask] + max(0, speed - s[j])); } } } return best; }

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...