9248 2024. 02. 19 11:20:23 TuruTamas Hálózati átvitel cpp17 Időlimit túllépés 11/50 648ms 5268 KiB
#include <bits/stdc++.h>
using namespace std;

#ifdef DEBUG
ifstream in_file("minta/be2.txt");
#define input in_file
#define INTHENAMEOFGOD
#else
#define input cin
#define INTHENAMEOFGOD \
    ios::sync_with_stdio(0); \
    cin.tie(0); \
    cout.tie(0);
#endif
typedef long long ll;
typedef vector<ll> vi;
typedef vector<vi> vvi;
typedef vector<bool> vb;
typedef pair<ll, ll> pii;

ll N, M, H, K, a, b, c;
vector<vector<pii>> G;
vi s;
vector<pii> vp;

void dfs(ll x, ll h, ll seb) {
    s[x] = max(s[x], seb);
    if (h == H) {
        return;
    }
    for (pii &next : G[x]) {
        auto &p = vp[next.first];
        if (p.first <= h+1 && p.second >= min(seb, next.second)) {
            continue;
        } else if (p.first >= h+1 &&  p.second <= min(seb, next.second)) {
            p = {h+1, min(seb, next.second)};
        }
        dfs(next.first, h+1, min(seb, next.second));
    }
}

int main() {
    INTHENAMEOFGOD
    input >> N >> M >> K >> H;
    K--;
    G.resize(N);
    s.assign(N, -1);
    vp.assign(N, {LLONG_MAX, 0});
    
    for (ll m = 0; m < M; m++) {
        input >> a >> b >> c;
        a--; b--;
        G[a].emplace_back(b, c);
        G[b].emplace_back(a, c);
    }

    dfs(K, 0, LLONG_MAX);
    s[K] = 0;

    for (ll val : s) {
        cout << val << "\n";
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 11/50
1 Elfogadva 0/0 3ms 1888 KiB
2 Elfogadva 0/0 3ms 2284 KiB
3 Elfogadva 1/1 3ms 2348 KiB
4 Elfogadva 1/1 3ms 2516 KiB
5 Elfogadva 2/2 4ms 2868 KiB
6 Elfogadva 2/2 56ms 2844 KiB
7 Elfogadva 2/2 7ms 2876 KiB
8 Elfogadva 2/2 10ms 3136 KiB
9 Elfogadva 1/1 4ms 3268 KiB
10 Időlimit túllépés 0/1 632ms 2612 KiB
11 Időlimit túllépés 0/1 556ms 2688 KiB
12 Időlimit túllépés 0/1 564ms 3076 KiB
13 Időlimit túllépés 0/2 577ms 2964 KiB
14 Időlimit túllépés 0/2 564ms 3024 KiB
15 Időlimit túllépés 0/2 552ms 3488 KiB
16 Időlimit túllépés 0/2 634ms 3484 KiB
17 Időlimit túllépés 0/2 583ms 3632 KiB
18 Időlimit túllépés 0/2 558ms 4056 KiB
19 Időlimit túllépés 0/2 574ms 4080 KiB
20 Időlimit túllépés 0/2 565ms 3984 KiB
21 Időlimit túllépés 0/1 559ms 4156 KiB
22 Időlimit túllépés 0/1 574ms 4540 KiB
23 Időlimit túllépés 0/1 569ms 4640 KiB
24 Időlimit túllépés 0/1 565ms 4900 KiB
25 Időlimit túllépés 0/2 565ms 5016 KiB
26 Időlimit túllépés 0/2 561ms 5052 KiB
27 Időlimit túllépés 0/2 648ms 5028 KiB
28 Időlimit túllépés 0/2 582ms 5072 KiB
29 Időlimit túllépés 0/2 578ms 5104 KiB
30 Időlimit túllépés 0/2 566ms 5104 KiB
31 Időlimit túllépés 0/2 561ms 5268 KiB
32 Időlimit túllépés 0/2 558ms 5212 KiB