155532025-02-20 12:20:43999Hálózati átvitelcpp17Wrong answer 1/5043ms2168 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;
#define int long long

const int INF = 1e12;

signed main() {
    int n,m,k,h;cin>>n>>m>>k>>h;
    vector<vector<pair<int,int>>> v(n);
    k--;
    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<int> d(n,-1);
    d[k]=INF;
    priority_queue<array<int,3>> q;
    q.push({INF,0,k});
    while(!q.empty()){
        auto [mx,c,u]=q.top();
        q.pop();
        if(d[u]>mx)continue;
        for(auto [i,w] : v[u]){
            if(d[i]<min(d[u],w)&&c+1<=h){
                d[i]=min(d[u],w);
                q.push({d[i],c+1,i});
            }
        }
    }
    d[k]=0;
    for(int i : d)cout<<i<<endl;    
}
SubtaskSumTestVerdictTimeMemory
base1/50
1Accepted0/01ms316 KiB
2Wrong answer0/01ms316 KiB
3Accepted1/11ms316 KiB
4Wrong answer0/11ms316 KiB
5Wrong answer0/21ms316 KiB
6Wrong answer0/21ms364 KiB
7Wrong answer0/22ms412 KiB
8Wrong answer0/22ms392 KiB
9Wrong answer0/13ms316 KiB
10Wrong answer0/14ms564 KiB
11Wrong answer0/16ms596 KiB
12Wrong answer0/18ms584 KiB
13Wrong answer0/26ms468 KiB
14Wrong answer0/27ms584 KiB
15Wrong answer0/212ms964 KiB
16Wrong answer0/212ms1076 KiB
17Wrong answer0/212ms928 KiB
18Wrong answer0/212ms1076 KiB
19Wrong answer0/212ms1116 KiB
20Wrong answer0/212ms1068 KiB
21Wrong answer0/126ms1232 KiB
22Wrong answer0/130ms1552 KiB
23Wrong answer0/137ms1724 KiB
24Wrong answer0/139ms1900 KiB
25Wrong answer0/239ms2036 KiB
26Wrong answer0/239ms2016 KiB
27Wrong answer0/243ms2012 KiB
28Wrong answer0/239ms1968 KiB
29Wrong answer0/237ms2168 KiB
30Wrong answer0/237ms2032 KiB
31Wrong answer0/239ms2128 KiB
32Wrong answer0/239ms2116 KiB