#include "railroad.h"
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
#define all(x) (x).begin(), (x).end()
#define debug(x) cerr << #x << ": " << x << endl;
#define sep ' '
const ll MAXN = 1e6 + 10;
const ll INF = 1e18;
ll f[MAXN], n, m;
vector<ll> comp_vec;
ll dp[MAXN][20];
inline int ind(ll x) {
return lower_bound(all(comp_vec), x) - comp_vec.begin() + 1;
}
ll plan_roller_coaster(vector<int> s, vector<int> t) {
n = s.size();
int max_t = 0;
for (int i = 0; i < n; i++)
if (s[i] < s[max_t])
max_t = i;
for (int mask = 1; mask < (1 << n); mask++) {
vector<int> vec;
for (int v = 0; v < n; v++)
if (mask >> v & 1)
vec.push_back(v);
if (int(vec.size()) < 2) {
if (vec.front() != max_t) dp[mask][vec.front()] = INF;
continue;
}
for (int e : vec) {
dp[mask][e] = INF;
for (int e2 : vec) {
if (e == e2) continue;
dp[mask][e] = min(dp[mask][e], dp[mask ^ (1 << e)][e2] + max(0, t[e2] - s[e]));
}
}
}
ll ans = INF;
for (int i = 0; i < n; i++)
ans = min(ans, dp[(1 << n) - 1][i]);
return ans;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
212 KB |
n = 2 |
2 |
Correct |
1 ms |
212 KB |
n = 2 |
3 |
Correct |
0 ms |
212 KB |
n = 2 |
4 |
Correct |
1 ms |
212 KB |
n = 2 |
5 |
Correct |
1 ms |
212 KB |
n = 2 |
6 |
Correct |
0 ms |
212 KB |
n = 2 |
7 |
Correct |
0 ms |
212 KB |
n = 3 |
8 |
Correct |
1 ms |
212 KB |
n = 3 |
9 |
Correct |
0 ms |
212 KB |
n = 3 |
10 |
Correct |
0 ms |
340 KB |
n = 8 |
11 |
Correct |
1 ms |
340 KB |
n = 8 |
12 |
Correct |
1 ms |
340 KB |
n = 8 |
13 |
Correct |
0 ms |
340 KB |
n = 8 |
14 |
Correct |
0 ms |
340 KB |
n = 8 |
15 |
Correct |
0 ms |
340 KB |
n = 8 |
16 |
Incorrect |
0 ms |
340 KB |
answer is not correct: 866884738 instead of 683915859 |
17 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
212 KB |
n = 2 |
2 |
Correct |
1 ms |
212 KB |
n = 2 |
3 |
Correct |
0 ms |
212 KB |
n = 2 |
4 |
Correct |
1 ms |
212 KB |
n = 2 |
5 |
Correct |
1 ms |
212 KB |
n = 2 |
6 |
Correct |
0 ms |
212 KB |
n = 2 |
7 |
Correct |
0 ms |
212 KB |
n = 3 |
8 |
Correct |
1 ms |
212 KB |
n = 3 |
9 |
Correct |
0 ms |
212 KB |
n = 3 |
10 |
Correct |
0 ms |
340 KB |
n = 8 |
11 |
Correct |
1 ms |
340 KB |
n = 8 |
12 |
Correct |
1 ms |
340 KB |
n = 8 |
13 |
Correct |
0 ms |
340 KB |
n = 8 |
14 |
Correct |
0 ms |
340 KB |
n = 8 |
15 |
Correct |
0 ms |
340 KB |
n = 8 |
16 |
Incorrect |
0 ms |
340 KB |
answer is not correct: 866884738 instead of 683915859 |
17 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
38 ms |
6752 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
212 KB |
n = 2 |
2 |
Correct |
1 ms |
212 KB |
n = 2 |
3 |
Correct |
0 ms |
212 KB |
n = 2 |
4 |
Correct |
1 ms |
212 KB |
n = 2 |
5 |
Correct |
1 ms |
212 KB |
n = 2 |
6 |
Correct |
0 ms |
212 KB |
n = 2 |
7 |
Correct |
0 ms |
212 KB |
n = 3 |
8 |
Correct |
1 ms |
212 KB |
n = 3 |
9 |
Correct |
0 ms |
212 KB |
n = 3 |
10 |
Correct |
0 ms |
340 KB |
n = 8 |
11 |
Correct |
1 ms |
340 KB |
n = 8 |
12 |
Correct |
1 ms |
340 KB |
n = 8 |
13 |
Correct |
0 ms |
340 KB |
n = 8 |
14 |
Correct |
0 ms |
340 KB |
n = 8 |
15 |
Correct |
0 ms |
340 KB |
n = 8 |
16 |
Incorrect |
0 ms |
340 KB |
answer is not correct: 866884738 instead of 683915859 |
17 |
Halted |
0 ms |
0 KB |
- |