Submission #1069743

# Submission time Handle Problem Language Result Execution time Memory
1069743 2024-08-22T08:39:33 Z TheQuantiX Roller Coaster Railroad (IOI16_railroad) C++17
34 / 100
65 ms 11972 KB
#include <bits/stdc++.h>

using namespace std;
using ll = long long;

constexpr ll INF = 1000000000000000000LL;

ll n, m, q, k, x, y, a, b, c;

long long plan_roller_coaster(vector<int> s, vector<int> t) {
    n = (int) s.size();
    if (n <= 16) {
        vector< vector<ll> > dp((1 << n), vector<ll>(n, INF));
        ll ans = INF;
        for (int i = 1; i < (1 << n); i++) {
            vector<int> v;
            for (int j = 0; j < n; j++) {
                if ((i >> j) & 1) {
                    v.push_back(j);
                }
            }
            for (auto j : v) {
                if (v.size() == 1) {
                    dp[i][j] = 0;
                }
                else {
                    for (int k = 0; k < n; k++) {
                        if (!((i >> k) & 1) || j == k) {
                            continue;
                        }
                        dp[i][j] = min(dp[i][j], dp[i - (1 << j)][k] + max(0, t[k] - s[j]));
                    }
                }
                if (v.size() == n) {
                    ans = min(ans, dp[i][j]);
                }
                // cout << bitset<4>(i) << ' ' << j << ' ' << dp[i][j] << '\n';
            }
        }
        return ans;
    }
    vector< pair<ll, ll> > v;
    for (int i = 0; i < n; i++) {
        v.push_back({t[i], s[i]});
    }
    sort(v.begin(), v.end());
    sort(s.begin(), s.end());
    ll e = 0;
    for (int i = 0; i < n; i++) {
        while (e < n && s[e] <= v[i].first) {
            e++;
        }
        if (e - (v[i].second <= v[i].first ? 1 : 0) < i) {
            return 1;
        }
    }
    return 0;
}

Compilation message

railroad.cpp: In function 'long long int plan_roller_coaster(std::vector<int>, std::vector<int>)':
railroad.cpp:34:30: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
   34 |                 if (v.size() == n) {
      |                     ~~~~~~~~~^~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB n = 2
2 Correct 0 ms 348 KB n = 2
3 Correct 0 ms 436 KB n = 2
4 Correct 0 ms 344 KB n = 2
5 Correct 0 ms 348 KB n = 2
6 Correct 0 ms 348 KB n = 2
7 Correct 0 ms 348 KB n = 3
8 Correct 0 ms 348 KB n = 3
9 Correct 0 ms 348 KB n = 3
10 Correct 0 ms 348 KB n = 8
11 Correct 0 ms 348 KB n = 8
12 Correct 0 ms 348 KB n = 8
13 Correct 1 ms 348 KB n = 8
14 Correct 0 ms 344 KB n = 8
15 Correct 0 ms 348 KB n = 8
16 Correct 0 ms 348 KB n = 8
17 Correct 1 ms 348 KB n = 8
18 Correct 0 ms 348 KB n = 8
19 Correct 1 ms 348 KB n = 3
20 Correct 0 ms 348 KB n = 7
21 Correct 0 ms 348 KB n = 8
22 Correct 0 ms 348 KB n = 8
23 Correct 0 ms 348 KB n = 8
24 Correct 0 ms 348 KB n = 8
25 Correct 1 ms 348 KB n = 8
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB n = 2
2 Correct 0 ms 348 KB n = 2
3 Correct 0 ms 436 KB n = 2
4 Correct 0 ms 344 KB n = 2
5 Correct 0 ms 348 KB n = 2
6 Correct 0 ms 348 KB n = 2
7 Correct 0 ms 348 KB n = 3
8 Correct 0 ms 348 KB n = 3
9 Correct 0 ms 348 KB n = 3
10 Correct 0 ms 348 KB n = 8
11 Correct 0 ms 348 KB n = 8
12 Correct 0 ms 348 KB n = 8
13 Correct 1 ms 348 KB n = 8
14 Correct 0 ms 344 KB n = 8
15 Correct 0 ms 348 KB n = 8
16 Correct 0 ms 348 KB n = 8
17 Correct 1 ms 348 KB n = 8
18 Correct 0 ms 348 KB n = 8
19 Correct 1 ms 348 KB n = 3
20 Correct 0 ms 348 KB n = 7
21 Correct 0 ms 348 KB n = 8
22 Correct 0 ms 348 KB n = 8
23 Correct 0 ms 348 KB n = 8
24 Correct 0 ms 348 KB n = 8
25 Correct 1 ms 348 KB n = 8
26 Correct 0 ms 348 KB n = 8
27 Correct 0 ms 348 KB n = 8
28 Correct 0 ms 348 KB n = 8
29 Correct 46 ms 11032 KB n = 16
30 Correct 43 ms 11096 KB n = 16
31 Correct 44 ms 11100 KB n = 16
32 Correct 46 ms 11096 KB n = 16
33 Correct 45 ms 11096 KB n = 16
34 Correct 43 ms 11100 KB n = 16
35 Correct 46 ms 11100 KB n = 16
36 Correct 22 ms 5212 KB n = 15
37 Correct 1 ms 344 KB n = 8
38 Correct 45 ms 11100 KB n = 16
39 Correct 43 ms 10992 KB n = 16
40 Correct 1 ms 348 KB n = 9
41 Correct 46 ms 11100 KB n = 16
42 Correct 44 ms 11096 KB n = 16
43 Correct 45 ms 11096 KB n = 16
44 Correct 1 ms 348 KB n = 9
45 Correct 22 ms 5212 KB n = 15
46 Correct 46 ms 11096 KB n = 16
47 Correct 44 ms 11100 KB n = 16
48 Correct 45 ms 11100 KB n = 16
# Verdict Execution time Memory Grader output
1 Incorrect 65 ms 11972 KB answer is not correct: 1 instead of 0
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB n = 2
2 Correct 0 ms 348 KB n = 2
3 Correct 0 ms 436 KB n = 2
4 Correct 0 ms 344 KB n = 2
5 Correct 0 ms 348 KB n = 2
6 Correct 0 ms 348 KB n = 2
7 Correct 0 ms 348 KB n = 3
8 Correct 0 ms 348 KB n = 3
9 Correct 0 ms 348 KB n = 3
10 Correct 0 ms 348 KB n = 8
11 Correct 0 ms 348 KB n = 8
12 Correct 0 ms 348 KB n = 8
13 Correct 1 ms 348 KB n = 8
14 Correct 0 ms 344 KB n = 8
15 Correct 0 ms 348 KB n = 8
16 Correct 0 ms 348 KB n = 8
17 Correct 1 ms 348 KB n = 8
18 Correct 0 ms 348 KB n = 8
19 Correct 1 ms 348 KB n = 3
20 Correct 0 ms 348 KB n = 7
21 Correct 0 ms 348 KB n = 8
22 Correct 0 ms 348 KB n = 8
23 Correct 0 ms 348 KB n = 8
24 Correct 0 ms 348 KB n = 8
25 Correct 1 ms 348 KB n = 8
26 Correct 0 ms 348 KB n = 8
27 Correct 0 ms 348 KB n = 8
28 Correct 0 ms 348 KB n = 8
29 Correct 46 ms 11032 KB n = 16
30 Correct 43 ms 11096 KB n = 16
31 Correct 44 ms 11100 KB n = 16
32 Correct 46 ms 11096 KB n = 16
33 Correct 45 ms 11096 KB n = 16
34 Correct 43 ms 11100 KB n = 16
35 Correct 46 ms 11100 KB n = 16
36 Correct 22 ms 5212 KB n = 15
37 Correct 1 ms 344 KB n = 8
38 Correct 45 ms 11100 KB n = 16
39 Correct 43 ms 10992 KB n = 16
40 Correct 1 ms 348 KB n = 9
41 Correct 46 ms 11100 KB n = 16
42 Correct 44 ms 11096 KB n = 16
43 Correct 45 ms 11096 KB n = 16
44 Correct 1 ms 348 KB n = 9
45 Correct 22 ms 5212 KB n = 15
46 Correct 46 ms 11096 KB n = 16
47 Correct 44 ms 11100 KB n = 16
48 Correct 45 ms 11100 KB n = 16
49 Incorrect 65 ms 11972 KB answer is not correct: 1 instead of 0
50 Halted 0 ms 0 KB -