제출 #934602

#제출 시각아이디문제언어결과실행 시간메모리
934602MinaRagy06밀림 점프 (APIO21_jumps)C++17
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
#ifdef MINA
#include "grader.cpp"
#endif
#include "roads.h"
using namespace std;
#define ll long long

const int N = 100'005;
int t[N], curt;
vector<array<int, 2>> adj[N], newadj[N];
void build(int i, int p) {
	t[i] = curt++;
	for (auto &[nxt, w] : adj[i]) {
		if (nxt == p) continue;
		build(nxt, i);
		newadj[t[i]].push_back({t[nxt], w});
	}
}
ll dp[N][2], s[N], m;
vector<ll> vals[N];
vector<ll> minimum_closure_costs(int n, vector<int> u, vector<int> v, vector<int> W) {
	for (int i = 0; i < n - 1; i++) {
		adj[u[i]].push_back({v[i], W[i]});
		adj[v[i]].push_back({u[i], W[i]});
	}
	build(0, -1);
	for (int i = 0; i < n; i++) {
		adj[i] = newadj[i];
	}
	vector<ll> ret(n);
	for (m = 0; m < n; m++) {
		for (int i = n - 1; i >= 0; i--) {
			s[i] = 0;
			vals[i].clear();
			dp[i][0] = dp[i][1] = 0;
			for (auto [nxt, w] : adj[i]) {
				dp[i][0] += dp[nxt][1];
				dp[i][1] += dp[nxt][1];
				vals[i].push_back(- dp[nxt][1] + dp[nxt][0] + w);
			}
			sort(vals[i].begin(), vals[i].end());
			int rem = adj[i].size() - m;
			int lst = 0;
			for (auto j : vals[i]) {
				if (j >= 0) break;
				lst++;
			}
			for (int j = 0; j < max(lst, rem); j++) {
				dp[i][0] += vals[i][j];
			}
			if (m == 0) {
				dp[i][1] = 1e18;
			} else {
				for (int j = 0; j < max(lst, rem + 1); j++) {
					dp[i][1] += vals[i][j];
				}
			}
		}
		ret[m] = dp[0][0];
	}
	return ret;
}

컴파일 시 표준 에러 (stderr) 메시지

jumps.cpp:5:10: fatal error: roads.h: No such file or directory
    5 | #include "roads.h"
      |          ^~~~~~~~~
compilation terminated.