Cod sursa(job #1201382)

Utilizator xtreme77Patrick Sava xtreme77 Data 25 iunie 2014 00:32:13
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
#define rint register int
const char IN[]="distante.in";
const char OUT[]="distante.out";
const int MAX = 50014;
using namespace std;

ifstream fin(IN);
ofstream fout(OUT);
int d[MAX];
int main()
{
    int t;
    fin >> t;
    while(t--){
        int n,m,s;
        bool ok=1;
        fin >> n >> m >> s ;
        for(rint i=1;i<=n;++i)fin>>d[i];
        if(d[s])ok=0;
        while(m--){
            int x,y,z;
            fin >> x >> y >> z;
            if(d[x] + z <d[y] or d[y] + z <d[x])ok=0;
        }
        if(!ok)fout<<"NU"<<'\n';
            else fout<<"DA"<<'\n';
    }
    return 0;
}