96672024-02-23 20:23:43Vkrisztian01Hálózati átvitelcpp17Elfogadva 50/5045ms6496 KiB
#include <iostream>
#include<algorithm>
#include<vector>

using namespace std;

int n,m,k,h,a,b,c;
vector<vector<pair<int,int> > > g;
vector<int>cost1;
vector<int>cost2;

void f()
{
    while(h--)
    {
        for(int node=1;node<=n;node++)
        {
            for(auto to:g[node])
            {
                cost2[to.first]=max(cost2[to.first],min(to.second,cost1[node]));
            }
        }
        cost1=cost2;
    }
}

int main()
{
    cin>>n>>m>>k>>h;
    g.resize(n+1);
    cost1.assign(n+1,-1);
    cost2.assign(n+1,-1);
    while(m--)
    {
        cin>>a>>b>>c;
        g[a].push_back({b,c});
        g[b].push_back({a,c});
    }
    cost1[k]=1e9;
    cost2[k]=1e9;
    f();
    cost1[k]=0;
    for(int i=1;i<=n;i++) cout<<cost1[i]<<"\n";
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1876 KiB
2Elfogadva0/03ms2132 KiB
3Elfogadva1/13ms2344 KiB
4Elfogadva1/13ms2512 KiB
5Elfogadva2/23ms2760 KiB
6Elfogadva2/23ms2980 KiB
7Elfogadva2/23ms3340 KiB
8Elfogadva2/23ms3412 KiB
9Elfogadva1/14ms3740 KiB
10Elfogadva1/14ms4072 KiB
11Elfogadva1/16ms4136 KiB
12Elfogadva1/18ms4248 KiB
13Elfogadva2/26ms4288 KiB
14Elfogadva2/28ms4192 KiB
15Elfogadva2/213ms4444 KiB
16Elfogadva2/212ms4592 KiB
17Elfogadva2/213ms4564 KiB
18Elfogadva2/214ms4760 KiB
19Elfogadva2/213ms4844 KiB
20Elfogadva2/213ms5152 KiB
21Elfogadva1/124ms5808 KiB
22Elfogadva1/128ms5932 KiB
23Elfogadva1/132ms5856 KiB
24Elfogadva1/135ms6220 KiB
25Elfogadva2/243ms6348 KiB
26Elfogadva2/241ms6396 KiB
27Elfogadva2/245ms6460 KiB
28Elfogadva2/229ms6352 KiB
29Elfogadva2/230ms6348 KiB
30Elfogadva2/229ms6348 KiB
31Elfogadva2/229ms6348 KiB
32Elfogadva2/230ms6496 KiB