Pagini recente » Cod sursa (job #3280751) | Cod sursa (job #2852756) | Cod sursa (job #2220386) | Cod sursa (job #1305014) | Cod sursa (job #1037645)
#include <stdio.h>
using namespace std;
const int N=50001;
const int M=100001;
int d[N],n,m,t,s;
int main()
{
FILE *in,*out;
in=fopen("distante.in","r");
out=fopen("distante.out","w");
int i,j,x,y,poz,cost;
bool corect;
fscanf(in,"%d",&t);
for(j=1;j<=t;j++)
{
fscanf(in,"%d%d%d",&n,&m,&s);
corect=1;
for(i=1;i<=n;i++) fscanf(in,"%d",&d[i]);
for(i=1;i<=n;i++)
{
fscanf(in,"%d%d%d",&x,&y,&cost);
if(d[y] + cost < d[x])
corect=0;
if(d[x] + cost < d[y])
corect=0;
}
if(d[s]!=0) corect=0;
if(corect) fprintf(out,"DA\n");
else fprintf(out,"NU\n");
}
return 0;
}