254462026-02-20 09:59:32KevinKaktusz túra (45 pont)cpp17Hibás válasz 15/4514ms2188 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);

    ll n, m;
    cin >> n >> m;

    vector<vector<pair<ll,ll>>> graph(n);
    ll total = 0;

    for (ll i = 0; i < m; i++) {
        ll a, b, c;
        cin >> a >> b >> c;
        a--; b--;
        graph[a].push_back({b, c});
        graph[b].push_back({a, c});
        total += c;
    }

    // DFS az 1-es csúcsból (0 index)
    vector<ll> dist(n, -1);
    stack<ll> st;
    st.push(0);
    dist[0] = 0;

    while (!st.empty()) {
        ll u = st.top();
        st.pop();

        for (auto [v, w] : graph[u]) {
            if (dist[v] == -1) {
                dist[v] = dist[u] + w;
                st.push(v);
            }
        }
    }

    ll longest = 0;
    for (ll i = 0; i < n; i++)
        longest = max(longest, dist[i]);

    cout << 2 * total - longest;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base15/45
1Hibás válasz0/01ms316 KiB
2Hibás válasz0/014ms2096 KiB
3Elfogadva2/21ms508 KiB
4Elfogadva2/22ms316 KiB
5Elfogadva2/21ms316 KiB
6Hibás válasz0/21ms316 KiB
7Hibás válasz0/21ms316 KiB
8Hibás válasz0/21ms316 KiB
9Hibás válasz0/21ms508 KiB
10Hibás válasz0/21ms316 KiB
11Hibás válasz0/21ms316 KiB
12Elfogadva3/310ms1844 KiB
13Elfogadva3/312ms2132 KiB
14Elfogadva3/312ms1844 KiB
15Hibás válasz0/312ms2100 KiB
16Hibás válasz0/310ms1844 KiB
17Hibás válasz0/314ms2160 KiB
18Hibás válasz0/312ms1840 KiB
19Hibás válasz0/314ms2188 KiB
20Hibás válasz0/314ms2100 KiB