Cod sursa(job #1424614)

Utilizator DysKodeTurturica Razvan DysKode Data 25 aprilie 2015 00:57:38
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#include <string>
#include <cmath>

using namespace std;

ifstream fin("distante.in");
ofstream fout("distante.out");

int ans,Ans[50010],a,b,c,n,m,s,t,i,l;
string answer;

int main()
{
    fin>>t;
    for( l = 1 ; l <= t ; ++l )
    {
        fin>>n>>m>>s;
        for( i = 1 ; i <= n ; ++i )
            fin>>Ans[ i ];

        ans = 1;
        if( Ans[ s ] != 0 )
            ans = 0;

        for( i = 1 ; i <= m ; ++i )
        {
            fin>>a>>b>>c;
            if( Ans[ a ] + c < Ans[ b ] || Ans[ b ] + c < Ans[ a ] )
                ans = 0;
        }

        if( ans )
            fout<<"DA\n";
        else
            fout<<"NU\n";


    }
}