Cod sursa(job #1405189)

Utilizator Mr.DoomRaul Ignatus Mr.Doom Data 28 martie 2015 22:15:33
Problema Distante Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
using namespace std;

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

int n, m, t, s;
bool yep;
int D[50001];

int main()
{
    is >> t;
    while ( t-- )
    {
        is >> n >> m >> s;
        for ( int i = 1; i <= n; ++i )
            is >> D[i];
        int x, y, cost;
        for ( int i = 1; i <= m; ++i )
        {
            is >> x >> y >> cost;
            if ( D[x] + cost < D[y] || D[y] + cost < D[x] )
                yep = true;

            if ( D[s] )
                yep = true;
        }
        if ( yep )
            os << "NU" << '\n';
        else
            os << "DA" << '\n';

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