Submission #787525

# Submission time Handle Problem Language Result Execution time Memory
787525 2023-07-19T09:02:34 Z Sohsoh84 Roller Coaster Railroad (IOI16_railroad) C++17
0 / 100
38 ms 6736 KB
#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 (t[i] > t[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[e] - s[e2]));
			}
		}
	}

	ll ans = INF;
	for (int i = 0; i < n; i++)
		ans = min(ans, dp[(1 << n) - 1][i]);
	return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB n = 2
2 Correct 0 ms 212 KB n = 2
3 Correct 0 ms 212 KB n = 2
4 Correct 0 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 Incorrect 0 ms 212 KB answer is not correct: 209372231 instead of 102553483
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB n = 2
2 Correct 0 ms 212 KB n = 2
3 Correct 0 ms 212 KB n = 2
4 Correct 0 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 Incorrect 0 ms 212 KB answer is not correct: 209372231 instead of 102553483
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 38 ms 6736 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB n = 2
2 Correct 0 ms 212 KB n = 2
3 Correct 0 ms 212 KB n = 2
4 Correct 0 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 Incorrect 0 ms 212 KB answer is not correct: 209372231 instead of 102553483
9 Halted 0 ms 0 KB -