제출 #777096

#제출 시각아이디문제언어결과실행 시간메모리
777096Phan_Tien_Dung경주 (Race) (IOI11_race)C++17
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>

using namespace std;

#define f first
#define s second
const int N = 2e5 + 5;
const int INF = 1 << 30;

int n, mn[N], res = INF, k;
vector<pair<int, int>> adj[N];

void Cal(int u, int par, int depth, int dis) {
    res = min(res, depth + mn[k - dis]);
    for (auto [v, l] : adj[u]) {
        if (v == par) {
            continue;
        }
        if (dis + l > k) {
            continue;
        }
        Cal(v, u, depth + 1, dis + l);
    }
}

void Update(int u, int par, int depth, int dis) {
    mn[dis] = min(mn[dis], depth);
    for (auto [v, l] : adj[u]) {
        if (v == par) {
            continue;
        }
        if (dis + l > k) {
            continue;
        }
        Update(v, u, depth + 1, dis + l);
    }
}

void Process(int s) {
    fill(mn + 1, mn + n + 1, INF);
    mn[0] = 0;
    for (auto [v, l] : adj[s]) {
        if (l <= k) {
            Cal(v, s, 1, l);
            Update(v, s, 1, l);
        }
    }
}

void Solve() {
    cin >> n >> k;
    for (int i = 1; i < n; ++i) {
        int u, v, l;
        cin >> u >> v >> l;
        adj[u].push_back({v, l});
        adj[v].push_back({u, l});
    }
    for (int i = 1; i <= n; ++i) {
        Process(i);
    }
    if (res == INF) {
        cout << -1;
    } else {
        cout << res;
    }
}

signed main() {
    cin.tie(0)->sync_with_stdio(false);
    // freopen("input.txt", "r", stdin);
    // freopen("output.txt", "w", stdout);
    clock_t tStart = clock();
 
    int t = 1;
    // cin >> t;
    while (t--) {
        Solve();
    }
 
    cerr << fixed << setprecision(10) << "\nTime Taken:\n" << (double)(clock() - tStart) / CLOCKS_PER_SEC;
}

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

/usr/bin/ld: /tmp/ccBHHFwn.o: in function `main':
race.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccYSOwOo.o:grader.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccYSOwOo.o: in function `main':
grader.cpp:(.text.startup+0x28): undefined reference to `best_path(int, int, int (*) [2], int*)'
collect2: error: ld returned 1 exit status