246932026-02-13 22:40:01CzDaniHálózati átvitelcpp14Wrong answer 42/5046ms5196 KiB
#include <bits/stdc++.h>
using namespace std;

#define fi first
#define se second

int main() {
    int n, m, k, h;
    cin >> n >> m >> k >> h;
    vector<vector<int>> dp(n+1, vector<int>(h+1, 0));
    dp[k][0]=100000;
    vector<pair<int, pair<int, int>>> elek;
    for (int i = 1; i <= m; i++) {
        int a, b, c;
        cin >> a >> b >> c;
        elek.push_back({c, {a, b}});
    }
    sort(elek.rbegin(), elek.rend());
    for (int i = 1; i <= h; i++) {
        for (auto p : elek) {
            auto [a, b] = p.second;
            dp[a][i]=max(min(p.fi, dp[b][i-1]), dp[a][i]);
            dp[b][i]=max(min(p.fi, dp[a][i-1]), dp[b][i]);
        }
    }
    for (int i = 1; i <= n; i++) {
        if (i==k) {
            cout << 0 << '\n';
            continue;
        }
        int maxi = 0;
        for (int j = 0; j <= h; j++) {
            maxi=max(maxi,dp[i][j]);
        }
        cout<<maxi<<'\n';
    }
}
SubtaskSumTestVerdictTimeMemory
base42/50
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Wrong answer0/11ms316 KiB
4Wrong answer0/11ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/22ms316 KiB
8Accepted2/22ms316 KiB
9Wrong answer0/12ms324 KiB
10Wrong answer0/13ms564 KiB
11Accepted1/14ms564 KiB
12Accepted1/16ms612 KiB
13Accepted2/24ms564 KiB
14Accepted2/26ms564 KiB
15Accepted2/213ms764 KiB
16Accepted2/210ms720 KiB
17Accepted2/212ms820 KiB
18Accepted2/214ms936 KiB
19Accepted2/213ms800 KiB
20Accepted2/212ms760 KiB
21Wrong answer0/121ms4320 KiB
22Wrong answer0/127ms4100 KiB
23Wrong answer0/130ms4092 KiB
24Wrong answer0/137ms4348 KiB
25Accepted2/241ms5196 KiB
26Accepted2/243ms5108 KiB
27Accepted2/246ms5108 KiB
28Accepted2/237ms4580 KiB
29Accepted2/241ms5108 KiB
30Accepted2/241ms5108 KiB
31Accepted2/239ms5108 KiB
32Accepted2/241ms5088 KiB