Cod sursa(job #2560070)

Utilizator Theo20067Cismaru Theodor-Alexe Theo20067 Data 27 februarie 2020 19:09:00
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,y,p,u,a,b;
int C[30010],V[30010],D[30010];
ifstream fin ("sate.in");
ofstream fout("sate.out");
int main ()
{
    fin>>n>>m>>C[1]>>y;
    for(int i=1;i<=m;i++)
    {
        fin>>a>>b>>n;
        L[a].push_back(make_pair(b,n));
        L[b].push_back(make_pair(a,-n));
    }
    V[C[1]]=1;
    p=u=1;
    while(p<=u)
    {
        int nod=C[p];
        int l=L[nod].size();
        for(int i=0;i<l;i++)
        {
            int vecin=L[nod][i].first;
            int d=L[nod][i].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++;
    }
}