Pagini recente » Cod sursa (job #1841387) | Cod sursa (job #3228890) | Cod sursa (job #702745) | Cod sursa (job #1023839) | Cod sursa (job #2714691)
#include<bits/stdc++.h>
using namespace std;
ifstream f("pscnv.in"); ofstream g("pscnv.out");
const int KMAX=1001;
vector < pair <int,int> >v[250001];
int n,m,dp[250001],bruh,lmao;
bool viz[250001];
void dfs(int value,int node)
{ viz[node]=true;
dp[node]=value;
for(int i=0;i<v[node].size();i++)
if(!viz[v[node][i].first] && value>=v[node][i].second && dp[v[node][i].first]==-1)
dfs(value,v[node][i].first);
}
int main()
{ f>>n>>m>>bruh>>lmao;
for(int x,y,z,i=1;i<=m;i++)
{ f>>x>>y>>z;
v[x].push_back(make_pair(y,z));
}
int st=1,dr=KMAX,sol=0;
while(st<=dr)
{ int mid=(st+dr)/2;
for(int i=1;i<=n;i++)
{ viz[i]=false; dp[i]=-1; }
dfs(mid,bruh);
if(dp[lmao]==mid)
{ sol=mid;
dr=mid-1;
}
else st=mid+1;
}
g<<sol;
g.close(); return 0;
}