Cod sursa(job #1094642)

Utilizator mazaandreiAndrei Mazareanu mazaandrei Data 29 ianuarie 2014 17:55:14
Problema Distante Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<fstream>
#include<vector>
using namespace std;
int t,n,m,s,d[50001],x,y,c;
ifstream in("distante.in"); ofstream out("distante.out");
int main(){
    in>>t;
    for(;t;--t){
        in>>n>>m>>s; bool ok=true;
        for(int i=1;i<=n;++i) in>>d[i];
        if(d[s]!=0){ out<<"NU\n"; continue;}
        for(int i=1;i<=m;++i){
            in>>x>>y>>c;
            if(d[x]+c<d[y]) ok=false;
            if(d[y]+c<d[x]) ok=false;
        }
        if(ok==true) out<<"DA\n"; else out<<"NU\n";
    }
}