155522025-02-20 12:16:21999Hálózati átvitelcpp17Hibás válasz 6/5043ms2092 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<pair<int,int>> q;
    q.push({INF,k});
    while(!q.empty()){
        auto [c,u]=q.top();
        q.pop();
        if(d[u]>c)continue;
        for(auto [i,w] : v[u]){
            if(d[i]<min(d[u],w)){
                d[i]=min(d[u],w);
                q.push({d[i],i});
            }
        }
    }
    d[k]=0;
    for(int i : d)cout<<i<<endl;    
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base6/50
1Elfogadva0/01ms316 KiB
2Hibás válasz0/02ms316 KiB
3Hibás válasz0/11ms508 KiB
4Hibás válasz0/11ms316 KiB
5Hibás válasz0/21ms316 KiB
6Hibás válasz0/21ms316 KiB
7Hibás válasz0/22ms316 KiB
8Hibás válasz0/22ms316 KiB
9Hibás válasz0/13ms500 KiB
10Hibás válasz0/14ms548 KiB
11Elfogadva1/16ms680 KiB
12Hibás válasz0/17ms564 KiB
13Hibás válasz0/26ms640 KiB
14Hibás válasz0/28ms784 KiB
15Hibás válasz0/212ms972 KiB
16Hibás válasz0/210ms904 KiB
17Hibás válasz0/210ms1076 KiB
18Hibás válasz0/210ms820 KiB
19Hibás válasz0/212ms972 KiB
20Hibás válasz0/212ms928 KiB
21Elfogadva1/125ms1228 KiB
22Hibás válasz0/129ms1324 KiB
23Elfogadva1/137ms1656 KiB
24Elfogadva1/139ms1912 KiB
25Hibás válasz0/237ms1868 KiB
26Hibás válasz0/239ms1972 KiB
27Elfogadva2/243ms2092 KiB
28Hibás válasz0/237ms1996 KiB
29Hibás válasz0/237ms1968 KiB
30Hibás válasz0/237ms1960 KiB
31Hibás válasz0/237ms1996 KiB
32Hibás válasz0/239ms2052 KiB