254442026-02-20 09:58:32KevinKaktusz túra (45 pont)python3Futási hiba 0/4517ms3168 KiB
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
using pll=pair<ll, ll>;

ll total=0;
vector<map<ll, ll>> graph;
vector<ll> check;
vector<ll> parent;
vector<ll> dis;

void korkereses(ll p){
    check[p]++;
    for (auto& [child, cost]:graph[p]){
        if (parent[p]==child) continue;
        if (check[child]==1){
            check[p]++;
            total-=graph[child][p];
            graph[child][p]*=-1;
            graph[p][child]*=-1;
            ll x=p;
            while (x!=child){
                total-=graph[x][parent[x]];
                graph[x][parent[x]]*=-1;
                graph[parent[x]][x]*=-1;
                x=parent[x];
                check[x]++;
            }
        }
        if (check[child]==0){
            parent[child]=p;
            korkereses(child);
        }
    }
}

int main() {
    ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    ll n, m; cin >> n >> m;
    graph.resize(n);
    check.resize(n, 0);
    parent.resize(n, -1);
    dis.resize(n, LONG_LONG_MIN);
    for (ll i=0; i<m; i++){
        ll a, b, c; cin >> a >> b >> c; a--; b--;
        total+=2*c;
        graph[a][b]=c;
        graph[b][a]=c;
    }
    korkereses(0);

    priority_queue<pll> pq;
    pq.push({0, 0});
    ll leghosszabbut=0;
    while (pq.size()>0){
        ll currDis=pq.top().first, currId=pq.top().second;
        pq.pop();
        if (currDis<=dis[currId]) continue;
        dis[currId]=currDis;
        leghosszabbut=max(leghosszabbut, currDis);
        for (auto& [child, cost]:graph[currId]){
            if (parent[currId]!=child) pq.push({currDis+cost, child});
        }
    }
    cout << total-leghosszabbut;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/45
1Futási hiba0/016ms2892 KiB
2Futási hiba0/016ms2860 KiB
3Futási hiba0/216ms2860 KiB
4Futási hiba0/214ms2880 KiB
5Futási hiba0/216ms3040 KiB
6Futási hiba0/214ms3036 KiB
7Futási hiba0/216ms3036 KiB
8Futási hiba0/214ms2868 KiB
9Futási hiba0/216ms3168 KiB
10Futási hiba0/216ms2868 KiB
11Futási hiba0/216ms2872 KiB
12Futási hiba0/314ms2864 KiB
13Futási hiba0/314ms3044 KiB
14Futási hiba0/314ms3040 KiB
15Futási hiba0/316ms3044 KiB
16Futási hiba0/316ms2984 KiB
17Futási hiba0/316ms2972 KiB
18Futási hiba0/316ms2860 KiB
19Futási hiba0/317ms2980 KiB
20Futási hiba0/316ms3040 KiB