47192023-03-31 09:57:22Erik_GepardHálózati átvitelcpp17Accepted 50/5032ms6280 KiB
#include <bits/stdc++.h>
using namespace std;
 
#define ll long long
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define pii pair<int, int> 
 
int n, m, rajt, cel, h;
 
struct el{
  int a;
  int b;
  int suly;
};
 
el e1;
vector<vector<pii> > graf;
 
void bellman_ford(){
  vector<int> d1(n+1, -1);
  vector<int> d2(n+1, -1);
  d1[rajt]=INT_MAX;
  d2[rajt]=INT_MAX;
  for(int i=0; i<h; i++){
    for(int j=1; j<=n; j++){
        for(pii x : graf[j])
            if(d1[x.fi]<min(x.se, d2[j])){
                d1[x.fi]=min(x.se, d2[j]);
            }
    }
    d2=d1;
  }
  d1[rajt]=0;
  for(int i=1; i<=n; i++){
        cout<<d1[i]<<"\n";
  }
}
 
 
void solve() {
  cin>>n>>m>>rajt>>h;
  graf.resize(n+1);
  for(int i=0; i<m; i++){
    int x, y, z;
    cin>>x>>y>>z;
    graf[x].pb(mp(y, z));
    graf[y].pb(mp(x, z));
  }
  bellman_ford();
}
 
int main() {
	ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  solve();
	return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/03ms1696 KiB
2Accepted0/03ms1888 KiB
3Accepted1/13ms1952 KiB
4Accepted1/13ms2216 KiB
5Accepted2/23ms2352 KiB
6Accepted2/23ms2400 KiB
7Accepted2/23ms2760 KiB
8Accepted2/23ms2968 KiB
9Accepted1/13ms2940 KiB
10Accepted1/14ms2964 KiB
11Accepted1/14ms3276 KiB
12Accepted1/14ms3664 KiB
13Accepted2/24ms3476 KiB
14Accepted2/24ms3876 KiB
15Accepted2/28ms4304 KiB
16Accepted2/28ms4528 KiB
17Accepted2/28ms4492 KiB
18Accepted2/28ms4488 KiB
19Accepted2/28ms4640 KiB
20Accepted2/28ms4524 KiB
21Accepted1/117ms5320 KiB
22Accepted1/120ms5552 KiB
23Accepted1/123ms5520 KiB
24Accepted1/126ms5804 KiB
25Accepted2/230ms5952 KiB
26Accepted2/230ms6096 KiB
27Accepted2/232ms6020 KiB
28Accepted2/217ms6268 KiB
29Accepted2/217ms6116 KiB
30Accepted2/217ms6120 KiB
31Accepted2/217ms5988 KiB
32Accepted2/217ms6280 KiB