238012026-01-29 21:09:07abcdVillanyautócpp17Wrong answer 52/60115ms552 KiB
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
using pii=pair<ll,ll>;

const ll maxn=101;
vector<pii> adj[maxn];
ll n,k;
pii best[maxn];
bool inq[maxn];

bool bfs(ll i,ll mx){
    for(ll j=1;j<=n;j++) {
        best[j]={-1,-1};
    }
    best[i]={1, mx};
    queue<ll> q;
    q.push(i);
    inq[i]=true;
    while(q.size()) {
        ll v=q.front();q.pop();
        inq[v]=false;
        for(auto [u,cost]:adj[v]){
            if(cost>mx)continue;
            auto [vb1,vb2]=best[v];
            if(vb2<cost){
                vb1++;
                vb2=mx-cost;
            }else vb2-=cost;
            auto [ub1,ub2]=best[u];
            if(ub1==-1)best[u]={vb1,vb2};
            else if(ub1>vb1)best[u]={vb1,vb2};
            else if(ub1==vb1&&ub2<vb2)best[u]={vb1,vb2};
            if(make_pair(ub1,ub2)!=best[u]&&inq[u]==false){
                q.push(u);
                inq[u]=true;
            }
        }
    }
    for(ll j=1;j<=n;j++) {
        auto [b1,b2]=best[j];
        if(b1>k||b1==-1)return false;
    }
    return true;
}

int main() {
    ll m;cin>>n>>m>>k;
    for(ll i=0;i<m;i++) {
        ll 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)/2;
        bool ok=true;
        for(ll i=1;i<=n;i++)
            if(!bfs(i,mid)){
                ok=false;break;
            }
        if(ok){
            r=mid;
        }else l=mid+1;
    }
    cout<<r<<'\n';
}

/*
4 4 2   
1 2 1
2 3 2
3 4 3
4 1 4
*/
SubtaskSumTestVerdictTimeMemory
base52/60
1Accepted0/01ms500 KiB
2Accepted0/0115ms316 KiB
3Wrong answer0/11ms316 KiB
4Accepted1/114ms316 KiB
5Accepted1/116ms476 KiB
6Wrong answer0/21ms316 KiB
7Accepted2/268ms428 KiB
8Accepted2/2115ms416 KiB
9Accepted1/14ms316 KiB
10Accepted1/13ms316 KiB
11Accepted1/13ms316 KiB
12Accepted2/218ms316 KiB
13Accepted2/212ms408 KiB
14Accepted2/28ms408 KiB
15Accepted3/313ms552 KiB
16Accepted3/337ms316 KiB
17Wrong answer0/21ms316 KiB
18Accepted2/214ms444 KiB
19Accepted2/214ms460 KiB
20Accepted2/220ms480 KiB
21Accepted2/217ms508 KiB
22Accepted2/24ms316 KiB
23Wrong answer0/31ms316 KiB
24Accepted3/370ms500 KiB
25Accepted3/364ms468 KiB
26Accepted3/3112ms532 KiB
27Accepted3/383ms452 KiB
28Accepted3/325ms408 KiB
29Accepted3/313ms316 KiB
30Accepted3/321ms316 KiB