11312022-03-12 15:50:45nmarciHálózati átvitelcpp11Elfogadva 50/5068ms16360 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][110];
struct Edge
{
    int a, b, w;
};

int main()
{
    int n, m, k, h;
    cin >> n >> m >> k >> h;
    for(int i = 1; i <= n; ++i){
        maxa[i][0] = -1;
    }
    maxa[k][0] = numeric_limits<int>::max();
    vector<Edge> v;
    for(int a = 0; a < m; ++a){
        Edge i;
        cin >> i.a >> i.b >> i.w;
        v.push_back(i);
        swap(i.a, i.b);
        v.push_back(i);
    }
    for(int i = 1; i <= h; ++i){
        for(int j = 1;  j <= n; ++j)
            maxa[j][i] = maxa[j][i - 1];
        for(auto e : v){
            maxa[e.a][i] = max(maxa[e.a][i], min(maxa[e.b][i - 1], 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 cout << maxa[i][h] << endl;
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/02ms1744 KiB
2Elfogadva0/02ms1976 KiB
3Elfogadva1/11ms1896 KiB
4Elfogadva1/12ms1904 KiB
5Elfogadva2/21ms1908 KiB
6Elfogadva2/22ms1924 KiB
7Elfogadva2/22ms1952 KiB
8Elfogadva2/22ms1976 KiB
9Elfogadva1/13ms2752 KiB
10Elfogadva1/14ms2940 KiB
11Elfogadva1/17ms3132 KiB
12Elfogadva1/18ms3392 KiB
13Elfogadva2/26ms3256 KiB
14Elfogadva2/28ms3516 KiB
15Elfogadva2/214ms4156 KiB
16Elfogadva2/219ms4292 KiB
17Elfogadva2/213ms4368 KiB
18Elfogadva2/216ms4560 KiB
19Elfogadva2/214ms4684 KiB
20Elfogadva2/214ms4820 KiB
21Elfogadva1/137ms12640 KiB
22Elfogadva1/143ms12800 KiB
23Elfogadva1/146ms13108 KiB
24Elfogadva1/157ms14044 KiB
25Elfogadva2/264ms14400 KiB
26Elfogadva2/261ms14688 KiB
27Elfogadva2/268ms14964 KiB
28Elfogadva2/257ms15176 KiB
29Elfogadva2/261ms15552 KiB
30Elfogadva2/257ms15700 KiB
31Elfogadva2/261ms15968 KiB
32Elfogadva2/264ms16360 KiB