Cod sursa(job #1295123)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 18 decembrie 2014 20:35:32
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>
#include<iostream>
using namespace std;
ifstream in("distante.in");
ofstream out("distante.out");
const int NMAX = 50000;

int d[NMAX + 10],n,m,t;

int main()
{

    int s,a,b,c;
    bool ok;
    in>>t;
    for(int i = 1 ; i <= t ; i++){

        ok = true;
        in>>n>>m>>s;
        for(int i = 1 ; i <= n ; i++)
            in>>d[i];
        for(int j = 1 ; j <= m ; j++){
            in>>a>>b>>c;
            if((d[a] > d[b] + c) || (d[b] > d[a] + c))
                ok = false;
        }
            if(d[s])
                out<<"NU\n";
            else if(ok)
                out<<"DA\n";
            else
                out<<"NU\n";
    }
    return 0;
}