Cod sursa(job #1710744)

Utilizator serban_andreiserban andrei-catalin serban_andrei Data 29 mai 2016 18:50:55
Problema Sate Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<bits/stdc++.h>;

#define nmax 100100

using namespace std;

int dist[nmax],n,m,x,y,i,distanta,a,b;

vector<pair<int,int>>v[nmax];

queue<int>coada;

int main()
{
    ifstream f("sate.in");
    ofstream g("sate.out");
    f>>n>>m>>x>>y;
    while(m--)
    {

        f>>a>>b>>distanta;
        v[a].push_back(make_pair(b,distanta));
        v[b].push_back(make_pair(a,-distanta));
    }
    for(i=1;i<=n;i++)
        dist[i]=1<<30;
    dist[x]=0;
    coada.push(x);
    while(!coada.empty())
    {

        int nod=coada.front();
        coada.pop();
        for (auto a:v[nod])
        {
            if(dist[a.first]>dist[nod]+a.second)
            {
                dist[a.first]=dist[nod]+a.second;
                coada.push(a.first);
            }
        }
    }
    g<<dist[y]<<'\n';

    return 0;

}