44042023-03-27 17:16:46horvathabelHálózati átvitelcpp17Hibás válasz 6/5046ms4740 KiB
#include <bits/stdc++.h>
using namespace std;
vector<pair<pair<int, int>,int>> g;
bool seen[100001];

int main() {
	int n,m,k,h;
	cin>>n>>m>>k>>h;
	for (int i=0; i<m;i++){
		int x,y,c;
		cin>>x>>y>>c; 
		g.push_back({{x,y},c});
	}
	vector<int> dp;
	dp.resize(n+1,0);
	dp[k]=1e9;
	for (int j=1; j<=h;j++){
			for (pair<pair<int,int>, int> edge:g){
				if (dp[edge.first.first]!=1e9) dp[edge.first.first]=max(dp[edge.first.first],min(dp[edge.first.second],edge.second));
				if (dp[edge.first.second]!=1e9) dp[edge.first.second]=max(dp[edge.first.second],min(dp[edge.first.first],edge.second));
		}
	}
	for (int i=1; i<=n;i++){
		if (i==k) cout<<0<<endl; 
		else{
		 if (dp[i]==0) cout<<-1<<endl;
		 else cout<<dp[i]<<endl;
		}
	} 
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base6/50
1Elfogadva0/03ms1820 KiB
2Hibás válasz0/03ms2056 KiB
3Hibás válasz0/13ms2288 KiB
4Hibás válasz0/13ms2456 KiB
5Hibás válasz0/23ms2672 KiB
6Hibás válasz0/23ms2884 KiB
7Hibás válasz0/23ms3112 KiB
8Hibás válasz0/23ms3180 KiB
9Hibás válasz0/14ms3172 KiB
10Hibás válasz0/14ms3544 KiB
11Elfogadva1/17ms3564 KiB
12Hibás válasz0/18ms3624 KiB
13Hibás válasz0/27ms3696 KiB
14Hibás válasz0/28ms3864 KiB
15Hibás válasz0/214ms4036 KiB
16Hibás válasz0/213ms4028 KiB
17Hibás válasz0/214ms4076 KiB
18Hibás válasz0/214ms4080 KiB
19Hibás válasz0/214ms4076 KiB
20Hibás válasz0/213ms4180 KiB
21Elfogadva1/126ms4028 KiB
22Hibás válasz0/132ms4100 KiB
23Elfogadva1/134ms4248 KiB
24Elfogadva1/139ms4484 KiB
25Hibás válasz0/239ms4480 KiB
26Hibás válasz0/246ms4480 KiB
27Elfogadva2/241ms4484 KiB
28Hibás válasz0/239ms4484 KiB
29Hibás válasz0/241ms4740 KiB
30Hibás válasz0/239ms4696 KiB
31Hibás válasz0/239ms4696 KiB
32Hibás válasz0/241ms4700 KiB