11302022-03-12 15:37:34nmarciHálózati átvitelcpp11Hibás válasz 6/5041ms6316 KiB
#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
#include <deque>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <list>

using namespace std;
using ll = long long int;

int maxa[10010];
struct Edge
{
    int a, b, w;
};

int main()
{
    int n, m, k, h;
    cin >> n >> m >> k >> h;
    fill(maxa, maxa + n + 1, 0);
    maxa[k] = numeric_limits<int>::max();
    vector<Edge> v(m);
    for(auto& i : v){
        cin >> i.a >> i.b >> i.w;
    }
    for(int i = 0; i < h; ++i){
        for(auto e : v){
            maxa[e.a] = max(maxa[e.a], min(maxa[e.b], e.w));
            maxa[e.b] = max(maxa[e.b], min(maxa[e.a], e.w));
        }
    }
    for(int i = 1; i <= n; ++i){
        if(i == k) cout << 0 << endl;
        else if(maxa[i] == 0) cout << -1 << endl;
        else cout << maxa[i] << endl;
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base6/50
1Elfogadva0/02ms1740 KiB
2Hibás válasz0/01ms1784 KiB
3Hibás válasz0/11ms1844 KiB
4Hibás válasz0/11ms1848 KiB
5Hibás válasz0/21ms1856 KiB
6Hibás válasz0/21ms1864 KiB
7Hibás válasz0/22ms1880 KiB
8Hibás válasz0/22ms1900 KiB
9Hibás válasz0/13ms1916 KiB
10Hibás válasz0/13ms1936 KiB
11Elfogadva1/14ms1980 KiB
12Hibás válasz0/17ms2176 KiB
13Hibás válasz0/24ms2100 KiB
14Hibás válasz0/27ms2296 KiB
15Hibás válasz0/210ms2552 KiB
16Hibás válasz0/29ms2548 KiB
17Hibás válasz0/210ms2812 KiB
18Hibás válasz0/210ms2948 KiB
19Hibás válasz0/212ms3076 KiB
20Hibás válasz0/210ms3204 KiB
21Elfogadva1/121ms3360 KiB
22Hibás válasz0/128ms3556 KiB
23Elfogadva1/128ms3836 KiB
24Elfogadva1/132ms4104 KiB
25Hibás válasz0/235ms4360 KiB
26Hibás válasz0/232ms4648 KiB
27Elfogadva2/237ms5024 KiB
28Hibás válasz0/237ms5232 KiB
29Hibás válasz0/241ms5508 KiB
30Hibás válasz0/239ms5784 KiB
31Hibás válasz0/237ms6052 KiB
32Hibás válasz0/239ms6316 KiB