Cod sursa(job #2556571)

Utilizator qThunderStefan Durlanescu qThunder Data 24 februarie 2020 23:58:12
Problema Sate Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
struct idk
{
    int a,b;
};
idk aux;
vector <idk> v[30004];
int v1[30004],q[30004],p,u;
int n,m,x,y,x1,y1,s;
int main()
{
    fin>>n>>m>>x>>y;
    for(int i=1;i<=m;i++)
    {
        fin>>x1>>y1>>s;
        aux.a=y1;
        aux.b=s;
        v[x1].push_back(aux);
        aux.a=x1;
        aux.b=-s;
        v[y1].push_back(aux);
    }
    p=u=1;
    q[1]=x;
    v1[x]=0;
    int i;
    while(p<=u)
    {
        i=q[p];
        p++;
        for(int j=0;j<v[i].size();j++)
        {
            aux=v[i][j];
            if(v1[aux.a]==0 || v1[aux.a]>v1[i]+aux.b)
            {
                q[++u]=v[i][j].a;
                v1[aux.a]=v1[i]+aux.b;
            }
        }
    }
    fout<<v1[y];
    return 0;
}