Cod sursa(job #1129205)

Utilizator robert_stefanRobert Stefan robert_stefan Data 27 februarie 2014 20:44:20
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#define IN "distante.in"
#define OUT "distante.out"
#define NMAX 50005

using namespace std;

ifstream in(IN);
ofstream out(OUT);

int main()
{
    int T, n, m, s, dmin[NMAX], i, a, b, c;
    bool corect;
    in>>T;
    while(T--)
    {
        corect=true;
        in>>n>>m>>s;
        for(i=1; i<=n; ++i)
            in>>dmin[i];
        if(dmin[s]!=0)
            corect=false;
        for(i=1; i<=m; ++i)
        {
            in>>a>>b>>c;
            if((dmin[a] + c < dmin[b]) || (dmin[b] + c < dmin[a]))
                corect=false;
        }
        if(corect)
            out<<"DA\n";
        else out<<"NU\n";
    }
    in.close();
    out.close();
    return 0;
}