답안 #920934

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
920934 2024-02-03T08:05:35 Z danikoynov Roller Coaster Railroad (IOI16_railroad) C++14
34 / 100
53 ms 43852 KB
#include "railroad.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const ll inf = 1e18;

const int maxn = 17;

ll dp[maxn][(1 << maxn)];
long long plan_roller_coaster(std::vector<int> s, std::vector<int> t)
{
    int n = (int) s.size();
    for (int i = 0; i < n; i ++)
        for (int mask = 0; mask < (1 << n); mask ++)
            dp[i][mask] = inf;

    for (int i = 0; i < n; i ++)
        dp[i][(1 << i)] = 0;

    for (ll mask = 0; mask < (1 << n); mask ++)
    {
        for (int i = 0; i < n; i ++)
        {
            if ((mask & (1 << i)) == 0)
                continue;
            //cout << "state " << i << " " << mask << " " << dp[i][mask] << endl;
            for (int j = 0; j < n; j ++)
            {
                if ((mask & (1 << j)) != 0)
                    continue;

                int new_mask = (mask | (1 << j));
                //cout << "transition " << j << " " << max(0, t[i] - s[j]) << " " << t[i] << " " << s[j] << endl;
                dp[j][new_mask] = min(dp[j][new_mask], dp[i][mask] + (ll)max(0, t[i] - s[j]));
            }
        }
    }
    ll ans = inf;
    for (int i = 0; i < n; i ++)
        ans = min(ans, dp[i][(1 << n) - 1]);
    return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2396 KB n = 2
2 Correct 1 ms 2396 KB n = 2
3 Correct 1 ms 2396 KB n = 2
4 Correct 1 ms 2492 KB n = 2
5 Correct 1 ms 2396 KB n = 2
6 Correct 1 ms 2392 KB n = 2
7 Correct 1 ms 2392 KB n = 3
8 Correct 1 ms 2396 KB n = 3
9 Correct 1 ms 2396 KB n = 3
10 Correct 2 ms 8540 KB n = 8
11 Correct 2 ms 8540 KB n = 8
12 Correct 2 ms 8540 KB n = 8
13 Correct 2 ms 8540 KB n = 8
14 Correct 2 ms 8540 KB n = 8
15 Correct 1 ms 8540 KB n = 8
16 Correct 2 ms 8536 KB n = 8
17 Correct 2 ms 8540 KB n = 8
18 Correct 1 ms 8540 KB n = 8
19 Correct 1 ms 2396 KB n = 3
20 Correct 1 ms 6492 KB n = 7
21 Correct 2 ms 8652 KB n = 8
22 Correct 1 ms 8540 KB n = 8
23 Correct 1 ms 8540 KB n = 8
24 Correct 2 ms 8536 KB n = 8
25 Correct 1 ms 8540 KB n = 8
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2396 KB n = 2
2 Correct 1 ms 2396 KB n = 2
3 Correct 1 ms 2396 KB n = 2
4 Correct 1 ms 2492 KB n = 2
5 Correct 1 ms 2396 KB n = 2
6 Correct 1 ms 2392 KB n = 2
7 Correct 1 ms 2392 KB n = 3
8 Correct 1 ms 2396 KB n = 3
9 Correct 1 ms 2396 KB n = 3
10 Correct 2 ms 8540 KB n = 8
11 Correct 2 ms 8540 KB n = 8
12 Correct 2 ms 8540 KB n = 8
13 Correct 2 ms 8540 KB n = 8
14 Correct 2 ms 8540 KB n = 8
15 Correct 1 ms 8540 KB n = 8
16 Correct 2 ms 8536 KB n = 8
17 Correct 2 ms 8540 KB n = 8
18 Correct 1 ms 8540 KB n = 8
19 Correct 1 ms 2396 KB n = 3
20 Correct 1 ms 6492 KB n = 7
21 Correct 2 ms 8652 KB n = 8
22 Correct 1 ms 8540 KB n = 8
23 Correct 1 ms 8540 KB n = 8
24 Correct 2 ms 8536 KB n = 8
25 Correct 1 ms 8540 KB n = 8
26 Correct 1 ms 8540 KB n = 8
27 Correct 1 ms 8540 KB n = 8
28 Correct 1 ms 8540 KB n = 8
29 Correct 30 ms 16988 KB n = 16
30 Correct 31 ms 16988 KB n = 16
31 Correct 31 ms 16984 KB n = 16
32 Correct 31 ms 16988 KB n = 16
33 Correct 32 ms 16988 KB n = 16
34 Correct 31 ms 16988 KB n = 16
35 Correct 30 ms 16988 KB n = 16
36 Correct 15 ms 17036 KB n = 15
37 Correct 2 ms 8540 KB n = 8
38 Correct 30 ms 16988 KB n = 16
39 Correct 31 ms 17032 KB n = 16
40 Correct 2 ms 8536 KB n = 9
41 Correct 30 ms 17036 KB n = 16
42 Correct 32 ms 16988 KB n = 16
43 Correct 31 ms 16984 KB n = 16
44 Correct 1 ms 8540 KB n = 9
45 Correct 16 ms 16984 KB n = 15
46 Correct 31 ms 16988 KB n = 16
47 Correct 31 ms 16988 KB n = 16
48 Correct 30 ms 16984 KB n = 16
# 결과 실행 시간 메모리 Grader output
1 Runtime error 53 ms 43852 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2396 KB n = 2
2 Correct 1 ms 2396 KB n = 2
3 Correct 1 ms 2396 KB n = 2
4 Correct 1 ms 2492 KB n = 2
5 Correct 1 ms 2396 KB n = 2
6 Correct 1 ms 2392 KB n = 2
7 Correct 1 ms 2392 KB n = 3
8 Correct 1 ms 2396 KB n = 3
9 Correct 1 ms 2396 KB n = 3
10 Correct 2 ms 8540 KB n = 8
11 Correct 2 ms 8540 KB n = 8
12 Correct 2 ms 8540 KB n = 8
13 Correct 2 ms 8540 KB n = 8
14 Correct 2 ms 8540 KB n = 8
15 Correct 1 ms 8540 KB n = 8
16 Correct 2 ms 8536 KB n = 8
17 Correct 2 ms 8540 KB n = 8
18 Correct 1 ms 8540 KB n = 8
19 Correct 1 ms 2396 KB n = 3
20 Correct 1 ms 6492 KB n = 7
21 Correct 2 ms 8652 KB n = 8
22 Correct 1 ms 8540 KB n = 8
23 Correct 1 ms 8540 KB n = 8
24 Correct 2 ms 8536 KB n = 8
25 Correct 1 ms 8540 KB n = 8
26 Correct 1 ms 8540 KB n = 8
27 Correct 1 ms 8540 KB n = 8
28 Correct 1 ms 8540 KB n = 8
29 Correct 30 ms 16988 KB n = 16
30 Correct 31 ms 16988 KB n = 16
31 Correct 31 ms 16984 KB n = 16
32 Correct 31 ms 16988 KB n = 16
33 Correct 32 ms 16988 KB n = 16
34 Correct 31 ms 16988 KB n = 16
35 Correct 30 ms 16988 KB n = 16
36 Correct 15 ms 17036 KB n = 15
37 Correct 2 ms 8540 KB n = 8
38 Correct 30 ms 16988 KB n = 16
39 Correct 31 ms 17032 KB n = 16
40 Correct 2 ms 8536 KB n = 9
41 Correct 30 ms 17036 KB n = 16
42 Correct 32 ms 16988 KB n = 16
43 Correct 31 ms 16984 KB n = 16
44 Correct 1 ms 8540 KB n = 9
45 Correct 16 ms 16984 KB n = 15
46 Correct 31 ms 16988 KB n = 16
47 Correct 31 ms 16988 KB n = 16
48 Correct 30 ms 16984 KB n = 16
49 Runtime error 53 ms 43852 KB Execution killed with signal 11
50 Halted 0 ms 0 KB -