Cod sursa(job #2714691)

Utilizator matei123Biciusca Matei matei123 Data 2 martie 2021 11:47:19
Problema PScNv Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#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;
}