Cod sursa(job #1356602)

Utilizator killlerr1Chilom Mircea killlerr1 Data 23 februarie 2015 15:02:37
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
using namespace std;

ifstream is("distante.in");
ofstream os("distante.out");

int n, m, s, t;
int dmin[50001];
int a, b, c;
bool ok;

int main()
{
    is >> t;
    while(t)
    {
        ok = true;
        is >> n >> m >> s;
        for( int i = 1; i <= n; ++i )
            is >> dmin[i];
        if(dmin[s])
            ok = false;
        while(m)
        {
            --m;
            is >> a >> b >> c;
            if( dmin[a] + c < dmin[b] || dmin[b] + c < dmin[a] )
                ok = false;
        }
        if( ok == false )
            os << "NU\n";
        else
            os << "DA\n";
        --t;
    }

    is.close();
    os.close();
}