217822026-01-13 22:04:10szilVillanyautócpp17Elfogadva 60/60222ms580 KiB
#include <bits/stdc++.h>

using namespace std;
using ll = long long;
using S = pair<ll, ll>;

const ll INF = 1e12;
const int MAXN = 101;

int n, m, k;

vector<pair<int, ll>> g[MAXN];

S step(S x, ll w, ll cap) {
    if (w > cap) return {INF, INF};
    S res = x;
    res.second += w;
    if (res.second > cap) {
        res.first += 1;
        res.second = w;
    }
    return res;
}

bool f(ll cap) {
    for (int i = 1; i <= n; i++) {
        priority_queue<pair<S, int>, vector<pair<S, int>>, greater<pair<S, int>>> pq;
        vector<S> dist(n+1, {INF, INF});
        dist[i] = {0, cap};
        pq.push({{0, cap}, i});
        while (!pq.empty()) {
            auto [s, u] = pq.top();
            pq.pop();
            if (dist[u] != s) continue;
            for (auto [v, w] : g[u]) {
                S d = step(s, w, cap);
                if (d < dist[v]) {
                    dist[v] = d;
                    pq.push({d, v});
                }
            }
        }
        int cnt = 0;
        for (int j = 1; j <= n; j++) {
            cnt += dist[j].first <= k;
        }
        if (cnt < n) return 0;
    }
    return 1;
}

void solve() {
    cin >> n >> m >> k;
    for (int i = 0; i < m; i++) {
        int u, v; ll w; cin >> u >> v >> w;
        g[u].emplace_back(v, w);
        g[v].emplace_back(u, w);
    }
    ll lo = 1, hi = INF;
    while (lo < hi) {
        ll mid = (lo + hi) / 2;
        if (f(mid)) hi = mid;
        else lo = mid+1;
    }
    cout << lo << "\n";
}

int main() {
    ios::sync_with_stdio(0); cin.tie(0);
    int t = 1; 
    // cin >> t;
    while (t--) solve();
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base60/60
1Elfogadva0/01ms316 KiB
2Elfogadva0/068ms316 KiB
3Elfogadva1/117ms316 KiB
4Elfogadva1/134ms316 KiB
5Elfogadva1/141ms512 KiB
6Elfogadva2/279ms316 KiB
7Elfogadva2/2138ms316 KiB
8Elfogadva2/2222ms564 KiB
9Elfogadva1/114ms432 KiB
10Elfogadva1/18ms316 KiB
11Elfogadva1/14ms316 KiB
12Elfogadva2/256ms436 KiB
13Elfogadva2/239ms316 KiB
14Elfogadva2/218ms316 KiB
15Elfogadva3/343ms316 KiB
16Elfogadva3/363ms316 KiB
17Elfogadva2/28ms316 KiB
18Elfogadva2/230ms500 KiB
19Elfogadva2/232ms492 KiB
20Elfogadva2/241ms512 KiB
21Elfogadva2/217ms316 KiB
22Elfogadva2/28ms424 KiB
23Elfogadva3/337ms500 KiB
24Elfogadva3/3123ms512 KiB
25Elfogadva3/3123ms520 KiB
26Elfogadva3/3194ms580 KiB
27Elfogadva3/382ms316 KiB
28Elfogadva3/348ms512 KiB
29Elfogadva3/334ms316 KiB
30Elfogadva3/343ms428 KiB