Pagini recente » Cod sursa (job #2075385) | Cod sursa (job #2258453) | Cod sursa (job #942838) | Cod sursa (job #2965455) | Cod sursa (job #1803874)
#include <cstdio>
#include <vector>
#include <cctype>
#define MAXN 50000
#define MAXBUF 1<<17
FILE*fi,*fout;
char buf[MAXBUF];
int pos=MAXBUF;
inline char nextch(){
if(pos==MAXBUF){
fread(buf,1,MAXBUF,fi);
pos=0;
}
return buf[pos++];
}
inline int getnr(){
char a=nextch();
while(isdigit(a)==0)
a=nextch();
int nr=0;
while(isdigit(a)==1){
nr=nr*10+a-'0';
a=nextch();
}
return nr;
}
int d[MAXN+1];
int main(){
int n,m,nod,t,i,a,b,c,flag;
fi=fopen("distante.in" ,"r");
fout=fopen("distante.out" ,"w");
t=getnr();
while(t>0){
t--;
n=getnr();
m=getnr();
nod=getnr();
for(i=1;i<=n;i++)
d[i]=getnr();
flag=1;
for(i=1;i<=m;i++){
a=getnr();
b=getnr();
c=getnr();
if(d[a]+c<d[b]||d[b]+c<d[a])
flag=0;
}
if(d[nod]!=0)
flag=0;
if(flag==1)
fprintf(fout,"DA\n");
else
fprintf(fout,"NU\n");
}
fclose(fi);
fclose(fout);
return 0;
}