44642023-03-28 11:49:31UnluckYHálózati átvitelcpp11Hibás válasz 40/50560ms38944 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long

ll INF = 100001;

int main(){

    int n, m, k, h; cin >> n >> m >> k >> h;
    vector<vector<pair<int, int>>> v(n+1);

    for (int i = 0; i < m; i++){
        int a, b, c; cin >> a >> b >> c;
        v[a].push_back({b, c});
        v[b].push_back({a, c});
    } 

    vector<vector<int>> d(n+1, vector<int>(h+1, 0));
    priority_queue<pair<int, pair<int, int>>> q;
    q.push({INF, {k, 0}});
    d[k][0] = INF;

    while(!q.empty()){
        int dis = q.top().first;
        int x = q.top().second.first;
        int y = q.top().second.second;
        q.pop();
        if (dis < d[x][y] || y >= h) continue;

        for (pair<int, int> i : v[x]){
            if (min(dis, i.second) > d[i.first][y+1]){
                d[i.first][y+1] = min(dis, i.second);
                q.push({d[i.first][y+1], {i.first, y+1}});
            }
        }
    }

    vector<int> dd(n+1, 0);

    //cout << d[3][2] << endl;

    for (int i = 1; i <= n; i++){
        for (int j = 1; j <= h; j++){
            dd[i] = max(dd[i], d[i][j]);
        }
    }

    dd[k] = 0;



    for (int i = 1; i <= n; i++){cout << dd[i] << endl;}

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/50
1Elfogadva0/03ms1812 KiB
2Elfogadva0/03ms2032 KiB
3Hibás válasz0/13ms2228 KiB
4Hibás válasz0/13ms2444 KiB
5Elfogadva2/23ms2656 KiB
6Elfogadva2/24ms3072 KiB
7Elfogadva2/24ms3260 KiB
8Elfogadva2/24ms3588 KiB
9Hibás válasz0/16ms4032 KiB
10Hibás válasz0/113ms4492 KiB
11Elfogadva1/123ms4952 KiB
12Elfogadva1/118ms5084 KiB
13Elfogadva2/221ms5056 KiB
14Elfogadva2/223ms5332 KiB
15Elfogadva2/254ms8032 KiB
16Elfogadva2/232ms6576 KiB
17Elfogadva2/243ms6588 KiB
18Elfogadva2/270ms8360 KiB
19Elfogadva2/254ms8248 KiB
20Elfogadva2/243ms6624 KiB
21Hibás válasz0/1167ms14236 KiB
22Hibás válasz0/1248ms18748 KiB
23Hibás válasz0/1307ms24736 KiB
24Hibás válasz0/1402ms25104 KiB
25Elfogadva2/2524ms26756 KiB
26Elfogadva2/2517ms26740 KiB
27Időlimit túllépés0/2560ms21160 KiB
28Elfogadva2/2384ms37656 KiB
29Elfogadva2/2470ms38852 KiB
30Elfogadva2/2451ms38844 KiB
31Elfogadva2/2421ms38840 KiB
32Elfogadva2/2453ms38944 KiB