237982026-01-29 19:24:56abcdVillanyautócpp17Hibás válasz 52/6097ms556 KiB
#include <bits/stdc++.h>
using namespace std;
using pii=pair<int,int>;
using ll=long long;

const int maxn=101;
vector<pii> adj[maxn];
int k, n;
pii a[maxn];
queue<int> q;
bool inq[maxn];
ll ans=-1;

bool bfs(int i, int mx){
    for (int j=1;j<=n;j++) {
        a[j]={-1,-1};
    }
    a[i]={1, mx};
    q.push(i);
    inq[i]=true;
    while (q.size()) {
        int v = q.front();
        q.pop();
        inq[v]=false;
        for (auto to:adj[v]){
            if (to.second >mx) continue;
            int to1 = to.first;
            int b1 = a[v].first, b2=a[v].second;
            if (b2 < to.second) {
                b1++;
                b2=mx-to.second;
            } else b2-=to.second;
            pii prev=a[to1];
            if (a[to1].first != -1 && a[to1].first > b1) a[to1]={b1, b2};
            else if(a[to1].first==b1&&a[to1].second < b2) a[to1]={b1, b2};
            else if(a[to1].first==-1)a[to1]={b1, b2};
            if (prev!=a[to1] && inq[to1]==false) {q.push(to1);inq[to1]=true;}
        }
    }
    for (int j=1;j<=n;j++) {
        auto& p=a[j];
        if (p.first > k || p.first==-1) {
            return false;
        }
    }
    return true;
}

int main() {
    int m;
    cin>>n>>m>>k;
    for (int i=0;i<m;i++) {
        int a, b, c; cin>>a>>b>>c;
        adj[a].push_back({b, c});
        adj[b].push_back({a, c});
    }
    ll l = 1,r=1e9;
    while (l<r){
        ll mid=l + (r - l) / 2;
        bool ok=true;
        for(int i = 1;i<=n;i++) {
            if (!bfs(i, mid)) {ok=false; break;}
        }
        if (ok) {
            r=mid;
            ans=mid;
        } else{
            l=mid+1;
        }
    }
    cout << ans << '\n';
}

/*
4 4 2   
1 2 1
2 3 2
3 4 3
4 1 4
*/
RészfeladatÖsszpontTesztVerdiktIdőMemória
base52/60
1Elfogadva0/01ms316 KiB
2Elfogadva0/097ms472 KiB
3Hibás válasz0/11ms316 KiB
4Elfogadva1/112ms316 KiB
5Elfogadva1/113ms456 KiB
6Hibás válasz0/22ms316 KiB
7Elfogadva2/257ms508 KiB
8Elfogadva2/293ms500 KiB
9Elfogadva1/14ms316 KiB
10Elfogadva1/13ms316 KiB
11Elfogadva1/13ms316 KiB
12Elfogadva2/217ms412 KiB
13Elfogadva2/29ms316 KiB
14Elfogadva2/28ms412 KiB
15Elfogadva3/312ms412 KiB
16Elfogadva3/332ms448 KiB
17Hibás válasz0/21ms344 KiB
18Elfogadva2/213ms424 KiB
19Elfogadva2/213ms316 KiB
20Elfogadva2/217ms456 KiB
21Elfogadva2/214ms424 KiB
22Elfogadva2/24ms316 KiB
23Hibás válasz0/31ms316 KiB
24Elfogadva3/359ms440 KiB
25Elfogadva3/354ms508 KiB
26Elfogadva3/393ms556 KiB
27Elfogadva3/372ms448 KiB
28Elfogadva3/320ms408 KiB
29Elfogadva3/310ms316 KiB
30Elfogadva3/318ms412 KiB