Submission #1256007

#TimeUsernameProblemLanguageResultExecution timeMemory
1256007pasta공장들 (JOI14_factories)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include "factories.h" using namespace std; typedef long long ll; typedef pair<int, ll> pii; #define pb push_back #define all(x) x.begin(), x.end() #define int ll // #define fast_io ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); const ll inf = 1e18 + 10; const int maxn = 1e6 + 10; ll dist[maxn], sub[maxn]; vector<pii> G[maxn], cent[maxn]; bool dead[maxn]; int dfs_sz(int v, int p) { sub[v] = 1; for (auto [u, w] : G[v]) { if (u == p || dead[u]) continue; sub[v] += dfs_sz(u, v); } return sub[v]; } int centroid(int v, int p, int sz) { for (auto [u, w] : G[v]) { if (u == p || dead[u]) continue; if (sz < sub[u] * 2) return centroid(u, v, sz); } return v; } void add(int v, int p, int tag, ll d) { cent[v].pb({tag, d}); for (auto [u, w] : G[v]) { if (u == p || dead[u]) continue; add(u, v, tag, d + w); } } void decomp(int v) { int cen = centroid(v, -1, dfs_sz(v, -1)); dead[cen] = true; add(cen, 0, cen, 0); for (auto [u, w] : G[cen]) { if (dead[u]) continue; decomp(u); } } void Init(int N, int A[], int B[], int D[]) { for (int i = 0; i < N - 1; i++) { G[A[i]].pb({B[i], D[i]}); G[B[i]].pb({A[i], D[i]}); } decomp(0); } ll Query(int S, int X[], int T, int Y[]) { for (int i = 0; i < S; i++) { for (auto [u, d] : cent[X[i]]) { dist[u] = inf; } } for (int i = 0; i < T; i++) { for (auto [u, d] : cent[Y[i]]) { dist[u] = min(dist[u], d); } } ll ans = inf; for (int i = 0; i < S; i++) { for (auto [u, d] : cent[X[i]]) { ans = min(ans, d + dist[u]); } } return ans; } // signed main() { // int n, q; // cin >> n >> q; // int a[n + 1], b[n + 1], d[n + 1]; // for (int i = 0; i < n - 1; i++) { // cin >> a[i] >> b[i] >> d[i]; // } // Init(n, a, b, d); // while (q--) { // int s, t; // cin >> s >> t; // int S[s + 1], T[t + 1]; // for (int i = 0; i < s; i++) // cin >> S[i]; // for (int i = 0; i < t; i++) // cin >> T[i]; // cout << Query(s, S, t, T) << '\n'; // } // }

Compilation message (stderr)

/usr/bin/ld: /tmp/cctc9iqw.o: in function `main':
grader.cpp:(.text.startup+0x3d5): undefined reference to `Init(int, int*, int*, int*)'
/usr/bin/ld: grader.cpp:(.text.startup+0x468): undefined reference to `Query(int, int*, int, int*)'
collect2: error: ld returned 1 exit status