Cod sursa(job #1609839)

Utilizator geogeo12Ifrim George geogeo12 Data 23 februarie 2016 08:15:38
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include <fstream>
#define NMAX 50002
using namespace std;

ifstream f("distante.in");
ofstream g("distante.out");

int n,m,x,y,s,c,t,d[NMAX];
bool ok;

int main()
{
    f >> t;

    for(int k=1;k<=t;k++)
    {

        ok = true;
        f >> n >> m >> s;
        for(int i=1;i<=n;i++)
            f >> d[i];

        if(d[s]!=0) ok =  false;

        for(int i=1;i<=m;i++)
        {
            f >> x >> y >> c;
            if(d[y]>d[x]+c || d[x]>d[y]+c)
                ok =  false;
        }

        if(ok)
            g << "DA" << "\n";
        else
            g << "NU" << "\n";

    }

    return 0;
}