Pagini recente » Cod sursa (job #318970) | Cod sursa (job #2948914) | Cod sursa (job #1621909) | Cod sursa (job #65725) | Cod sursa (job #2077223)
#include <bits/stdc++.h>
using namespace std;
#define dim 100001
char buff[dim];
int pos = 0;
void read(int &nr){
nr = 0;
while(buff[pos] < '0' || buff[pos] > '9')
if(++pos == dim) fread(buff, 1, dim, stdin), pos = 0;
while(buff[pos] >= '0' && buff[pos] <= '9'){
nr = 10*nr + buff[pos] - '0';
if(++pos == dim) fread(buff, 1, dim, stdin), pos = 0;
}
}
int n, m, x, y, from, to, c;
short st, dr, mid, mx, d[250100];
vector <pair <int, short> > v[250100];
queue <int> q;
void ride_it(){
for(int i = 1; i <= n; i++)
d[i] = 1234;
d[from] = 0;
q.push(from);
while(!q.empty()){
int dad = q.front();
q.pop();
for(auto son : v[dad])
if(max(d[dad], son.second) < d[son.first]){
d[son.first] = max(d[dad], son.second);
q.push(son.first);
}
}
}
int main(){
freopen("pscnv.in", "r", stdin);
freopen("pscnv.out", "w", stdout);
cin >> n >> m >> from >> to;
for(int i = 1; i <= m; i++){
read(x); read(y); read(c);
mx = max(mx, (short)c);
v[x].push_back({y, (short)c});
}
ride_it();
cout << d[to];
return 0;
}