Submission #299419

# Submission time Handle Problem Language Result Execution time Memory
299419 2020-09-14T21:41:01 Z sandoval Roller Coaster Railroad (IOI16_railroad) C++11
34 / 100
96 ms 23416 KB
#include <bits/stdc++.h>
using namespace std;
using ii = pair<int,int>;
using ll = long long;

constexpr int MAXN = 16;
constexpr ll INF = 1LL<<58;
ll memo[MAXN][1<<MAXN];

ll dp(int u, int bm, const vector<int>& s, const vector<int>& t) {
  bm ^= (1<<u);
  if (bm == 0) return 0;
  ll& ans = memo[u][bm];
  if (ans != -1) return ans;
  ans = INF;

  for (int j = 0; j < (int)s.size(); ++j) {
    if ((bm>>j)&1) {
      ans = min(ans, dp(j, bm, s, t) + max(0, t[u] - s[j]));
    }
  }
  return ans;
}

ll plan_roller_coaster(vector<int> s, vector<int> t) {
  memset(memo, -1, sizeof memo);
  ll ans = INF;
  const int n = (int)s.size();
  for (int i = 0; i < n; ++i) {
    ans = min(ans, dp(i, (1<<n)-1, s, t));
  }
  return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 5 ms 8576 KB n = 2
2 Correct 5 ms 8576 KB n = 2
3 Correct 6 ms 8576 KB n = 2
4 Correct 5 ms 8576 KB n = 2
5 Correct 5 ms 8576 KB n = 2
6 Correct 5 ms 8576 KB n = 2
7 Correct 5 ms 8576 KB n = 3
8 Correct 5 ms 8576 KB n = 3
9 Correct 5 ms 8576 KB n = 3
10 Correct 5 ms 8576 KB n = 8
11 Correct 5 ms 8576 KB n = 8
12 Correct 5 ms 8576 KB n = 8
13 Correct 5 ms 8576 KB n = 8
14 Correct 5 ms 8576 KB n = 8
15 Correct 5 ms 8576 KB n = 8
16 Correct 5 ms 8704 KB n = 8
17 Correct 5 ms 8576 KB n = 8
18 Correct 5 ms 8576 KB n = 8
19 Correct 5 ms 8576 KB n = 3
20 Correct 5 ms 8576 KB n = 7
21 Correct 5 ms 8576 KB n = 8
22 Correct 5 ms 8576 KB n = 8
23 Correct 5 ms 8576 KB n = 8
24 Correct 5 ms 8576 KB n = 8
25 Correct 5 ms 8576 KB n = 8
# Verdict Execution time Memory Grader output
1 Correct 5 ms 8576 KB n = 2
2 Correct 5 ms 8576 KB n = 2
3 Correct 6 ms 8576 KB n = 2
4 Correct 5 ms 8576 KB n = 2
5 Correct 5 ms 8576 KB n = 2
6 Correct 5 ms 8576 KB n = 2
7 Correct 5 ms 8576 KB n = 3
8 Correct 5 ms 8576 KB n = 3
9 Correct 5 ms 8576 KB n = 3
10 Correct 5 ms 8576 KB n = 8
11 Correct 5 ms 8576 KB n = 8
12 Correct 5 ms 8576 KB n = 8
13 Correct 5 ms 8576 KB n = 8
14 Correct 5 ms 8576 KB n = 8
15 Correct 5 ms 8576 KB n = 8
16 Correct 5 ms 8704 KB n = 8
17 Correct 5 ms 8576 KB n = 8
18 Correct 5 ms 8576 KB n = 8
19 Correct 5 ms 8576 KB n = 3
20 Correct 5 ms 8576 KB n = 7
21 Correct 5 ms 8576 KB n = 8
22 Correct 5 ms 8576 KB n = 8
23 Correct 5 ms 8576 KB n = 8
24 Correct 5 ms 8576 KB n = 8
25 Correct 5 ms 8576 KB n = 8
26 Correct 5 ms 8608 KB n = 8
27 Correct 5 ms 8576 KB n = 8
28 Correct 5 ms 8576 KB n = 8
29 Correct 87 ms 8568 KB n = 16
30 Correct 86 ms 8576 KB n = 16
31 Correct 82 ms 8568 KB n = 16
32 Correct 86 ms 8568 KB n = 16
33 Correct 80 ms 8568 KB n = 16
34 Correct 86 ms 8568 KB n = 16
35 Correct 84 ms 8572 KB n = 16
36 Correct 35 ms 8576 KB n = 15
37 Correct 5 ms 8704 KB n = 8
38 Correct 82 ms 8576 KB n = 16
39 Correct 88 ms 8568 KB n = 16
40 Correct 5 ms 8576 KB n = 9
41 Correct 94 ms 8568 KB n = 16
42 Correct 90 ms 8576 KB n = 16
43 Correct 88 ms 8568 KB n = 16
44 Correct 5 ms 8576 KB n = 9
45 Correct 35 ms 8576 KB n = 15
46 Correct 91 ms 8704 KB n = 16
47 Correct 90 ms 8568 KB n = 16
48 Correct 90 ms 8568 KB n = 16
# Verdict Execution time Memory Grader output
1 Runtime error 96 ms 23416 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 8576 KB n = 2
2 Correct 5 ms 8576 KB n = 2
3 Correct 6 ms 8576 KB n = 2
4 Correct 5 ms 8576 KB n = 2
5 Correct 5 ms 8576 KB n = 2
6 Correct 5 ms 8576 KB n = 2
7 Correct 5 ms 8576 KB n = 3
8 Correct 5 ms 8576 KB n = 3
9 Correct 5 ms 8576 KB n = 3
10 Correct 5 ms 8576 KB n = 8
11 Correct 5 ms 8576 KB n = 8
12 Correct 5 ms 8576 KB n = 8
13 Correct 5 ms 8576 KB n = 8
14 Correct 5 ms 8576 KB n = 8
15 Correct 5 ms 8576 KB n = 8
16 Correct 5 ms 8704 KB n = 8
17 Correct 5 ms 8576 KB n = 8
18 Correct 5 ms 8576 KB n = 8
19 Correct 5 ms 8576 KB n = 3
20 Correct 5 ms 8576 KB n = 7
21 Correct 5 ms 8576 KB n = 8
22 Correct 5 ms 8576 KB n = 8
23 Correct 5 ms 8576 KB n = 8
24 Correct 5 ms 8576 KB n = 8
25 Correct 5 ms 8576 KB n = 8
26 Correct 5 ms 8608 KB n = 8
27 Correct 5 ms 8576 KB n = 8
28 Correct 5 ms 8576 KB n = 8
29 Correct 87 ms 8568 KB n = 16
30 Correct 86 ms 8576 KB n = 16
31 Correct 82 ms 8568 KB n = 16
32 Correct 86 ms 8568 KB n = 16
33 Correct 80 ms 8568 KB n = 16
34 Correct 86 ms 8568 KB n = 16
35 Correct 84 ms 8572 KB n = 16
36 Correct 35 ms 8576 KB n = 15
37 Correct 5 ms 8704 KB n = 8
38 Correct 82 ms 8576 KB n = 16
39 Correct 88 ms 8568 KB n = 16
40 Correct 5 ms 8576 KB n = 9
41 Correct 94 ms 8568 KB n = 16
42 Correct 90 ms 8576 KB n = 16
43 Correct 88 ms 8568 KB n = 16
44 Correct 5 ms 8576 KB n = 9
45 Correct 35 ms 8576 KB n = 15
46 Correct 91 ms 8704 KB n = 16
47 Correct 90 ms 8568 KB n = 16
48 Correct 90 ms 8568 KB n = 16
49 Runtime error 96 ms 23416 KB Execution killed with signal 11
50 Halted 0 ms 0 KB -