Cod sursa(job #656974)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 5 ianuarie 2012 16:27:02
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include<cstdio>
#define lim 50002
int D[lim],t;
void check(){
	int i,ok,n,m,x,y,c,s;
	scanf("%d%d%d",&n,&m,&s);
	ok=1;
	for( i=1;i<=n;i++)
		scanf("%d",&D[i]);
	if(D[s]!=0)
		ok=0;
	for(int i=1;i<=m;i++){
		scanf("%d%d%d",&x,&y,&c);
		if(D[x]+c<D[y])
			ok=0;
	}
	if(ok)
		printf("DA\n");
	else
		printf("NU\n");
}
int main (){
	freopen("distante.in","r",stdin);
	freopen("distante.out","w",stdout);
	
	scanf("%d",&t);
	for(;t;t--)
		check();
	return 0;
}