Cod sursa(job #763971)

Utilizator ion824Ion Ureche ion824 Data 3 iulie 2012 17:03:06
Problema Distante Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<fstream>
using namespace std;
int a[50005],d[50005];
bool v[50005];
int main(void){
    ifstream fin("distante.in");
    ofstream fout("distante.out");
    int i,n,m,s,t,g,x,y,c;
    for(fin>>t;t;t--)
    {
     fin>>n>>m>>s; g=1;
     for(i=1;i<=n;++i)fin>>a[i];   
     for(i=1;i<=m;++i)
       {
        fin>>x>>y>>c;
        if(a[x]+c<a[y])g=0;
    //    if(a[y]+c<a[x])g=0;
        if(a[x]+c==a[y])v[y]=1;
      //  if(a[y]+c==a[x])v[y]=1;                
       }                
     if(d[s]!=0)g=0; 
     for(i=1;i<=n;++i){ if(!v[i] && i!=s)g=0; v[i]=0; }
     if(g)fout<<"DA\n"; else fout<<"NU\n";                
    }
 return 0;   
}