Cod sursa(job #1892375)

Utilizator marcdariaDaria Marc marcdaria Data 24 februarie 2017 22:13:44
Problema PScNv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream fin("pscnv.in");
ofstream fout("pscnv.out");

struct pt
{
    int x,y,c;
}v[1<<19];

int i,n,m,x,y,G[1<<18];

bool cmp(pt a,pt b)
{
    return a.c<b.c;
}
int gr(int i)
{
    if(i!=G[i]) G[i]=gr(G[i]);
    return G[i];
}
int main()
{
    fin>>n>>m>>x>>y;
    for(i=1;i<=m;++i) fin>>v[i].x>>v[i].y>>v[i].c;
    fin.close();

    sort(v+1,v+m+1,cmp);
    for(i=1;i<=n;++i) G[i]=i;
    for(i=1;i<=m;++i)
    {
        if(gr(v[i].x)!=gr(v[i].y))
            G[v[i].x]=v[i].y;
        if(gr(x)==gr(y))
        {
            fout<<v[i].c;
            return 0;
        }
    }
    fout.close();
}