Pagini recente » Cod sursa (job #66865) | Cod sursa (job #2683602) | Cod sursa (job #88900) | Cod sursa (job #2644801) | Cod sursa (job #1141862)
//#include <iostream>
#include<fstream>
#include<algorithm>
#include<vector>
#include<queue>
using namespace std;
ifstream cin("pscnv.in");
ofstream cout("pscnv.out");
int i,n,m,kmax,x,y;
vector<pair<int,int> > v[250001];
vector<int> c[250001];
struct cmp{
bool operator()(pair<int,int> x1,pair<int,int> x2){
return x1.second>x2.second;
}
};
priority_queue<pair<int,int>,vector<pair<int,int> >, cmp> pq;
void parc(int x){
if(x==y){
return;
}
for(int i=0;i<v[x].size();i++){
if(c[x][i]==0){
pq.push(v[x][i]);
c[x][i]=1;
}
}
pair<int,int> k=pq.top();
pq.pop();
kmax=k.second;
parc(k.first);
}
int main(){
cin>>n>>m>>x>>y;
for(i=1;i<=m;i++){
int a,b,k;
cin>>a>>b>>k;
v[a].push_back(make_pair(b,k));
c[a].push_back(0);
}
parc(x);
cout<<kmax;
return 0;
}