Pagini recente » Cod sursa (job #1802139) | Cod sursa (job #2449496) | Cod sursa (job #2650461) | Cod sursa (job #2508656) | Cod sursa (job #557494)
Cod sursa(job #557494)
#include <fstream>
#include <vector>
using namespace std;
ifstream in("pscnv.in");
ofstream out("pscnv.out");
struct nod{
int v,c;
};
int const INF=10000000;
int n,m,x,yf,cost[250005],coada[500000],p=0,u=0;
vector <nod> a[250005];
inline int max(int x, int y){
if(x>y)
return x;
return y;
}
void BF(){
int y,c,i,q;
u++;
coada[u]=x;
p++;
while(p<=u){
q=coada[p];
for(i=0;i<a[q].size();i++){
y=a[q][i].v;
c=a[q][i].c;
if(c<cost[y] && cost[q]<cost[y]){
cost[y]=max(c,cost[q]);
u++;
coada[u]=y;
}
}
p++;
}
}
void citire(){
int aux1,i;
nod aux;
in>>n>>m>>x>>yf;
while(m--){
in>>aux1;
in>>aux.v>>aux.c;
a[aux1].push_back(aux);
}
for(i=1;i<=n;i++){
cost[i]=INF;
}
cost[x]=0;
BF();
out<<cost[yf];
}
int main(){
citire();
return 0;
}