Pagini recente » Cod sursa (job #139397) | Cod sursa (job #685015) | Cod sursa (job #1384419) | Cod sursa (job #2073420) | Cod sursa (job #403322)
Cod sursa(job #403322)
#include<stdio.h>
using namespace std;
long max=400000;
int t;
long n,m,s,v[50050];
struct dist
{ long x,y,c;
} a[100200];
int main()
{
freopen("distante.in","r",stdin);
freopen("distante.out","w",stdout);
scanf("%d",&t);
while(t>0)
{
t--;
scanf("%ld%ld%ld",&n,&m,&s);
for(int i=1;i<=n;i++)
scanf("%ld",&v[i]);
for(int i=1;i<=m;i++)
scanf("%ld%ld%ld",&a[i].x,&a[i].y,&a[i].c);
int cont=2;
int ok=1;
if(v[s]!=0) ok=0;
for(int i=1;i<=m && ok ;i++)
if(v[a[i].y]>v[a[i].x]+a[i].c)
ok=0;
if(ok==1) printf("DA\n");
else printf("NU\n");
}
fclose(stdin);
fclose(stdout);
return 0;
}