Cod sursa(job #1484513)
Utilizator | Data | 11 septembrie 2015 12:59:22 | |
---|---|---|---|
Problema | Distante | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include<stdio.h>
int t,i,j,c,n,m,s,l,d[50001],k;
int main() {
freopen("distante.in","r",stdin),freopen("distante.out","w",stdout),scanf("%d",&t);
while(t--) {
scanf("%d%d%d",&n,&m,&s);
for(i=1;i<=n;i++)
scanf("%d",d+i);
for(l=d[s]?0:1,k=0;k<m;k++) {
scanf("%d%d%d",&i,&j,&c);
if(d[i]+c<d[j]||d[j]+c<d[i])
l=0;
}
printf("%s\n",l?"DA":"NU");
}
}