Cod sursa(job #2559497)

Utilizator Theo20067Cismaru Theodor-Alexe Theo20067 Data 27 februarie 2020 12:46:27
Problema Sate Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
vector <pair <int, int> > L[30010];
int n,m,x,y,p,u,i,a,b,l;
int C[30010],V[30010],D[30010];
ifstream fin ("sate.in");
ofstream fout("sate.out");
int main ()
{
    fin>>n>>m>>x>>y;
    for(i=1;i<=m;i++)
    {
        fin>>a>>b>>l;
        L[a].push_back(make_pair(b,l));
        L[b].push_back(make_pair(a,-l));
    }
    C[1]=x;
    V[x]=1;
    p=1;
    u=1;
    while(p<=u)
    {
        int nod=C[p];
        for(int j=0;j<L[nod].size();j++)
        {
            int vecin=L[nod][j].first;
            int d=L[nod][j].second;
            if(V[vecin]==0)
            {
                C[++u]=vecin;
                D[vecin]=D[nod]+d;
                V[vecin]=1;
                if(vecin==y)
                {
                    fout<<abs(D[y]);
                    return 0;
                }
            }
        }
        p++;
    }
}