Cod sursa(job #1065694)

Utilizator Athena99Anghel Anca Athena99 Data 23 decembrie 2013 16:23:24
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>

using namespace std;

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

const int nmax= 50000;

int gd[nmax+1];

int main(  ) {
    int t;
    fin>>t;

    for ( ; t>0; --t ) {
        int n, m, s;
        fin>>n>>m>>s;
        for ( int i= 1; i<=n; ++i ) {
            fin>>gd[i];
        }

        int x= 1;
        if ( gd[s]!=0 ) {
            x= 0;
        } 
        for ( ; m>0; --m ) {
            int a, b, c;
            fin>>a>>b>>c;
            if ( gd[a]+c<gd[b] || gd[b]+c<gd[a] ) {
                x= 0;
            }
        }

        if ( x==1 ) {
            fout<<"DA\n";
        } else {
            fout<<"NU\n";
        }
    }

    return 0;
}