Pagini recente » Cod sursa (job #1856820) | Cod sursa (job #2628415) | Cod sursa (job #2539575) | Istoria paginii runda/oni2014_ziua_v | Cod sursa (job #2536012)
#include <iostream>
#include <cstdio>
#include <queue>
using namespace std;
const int N = 50001;
int d[N];
int main()
{
FILE *fin, *fout;
int n,m,i,x,y,c,t,start;
bool valid;
fin = fopen("distante.in","r");
fout = fopen("distante.out","w");
fscanf(fin,"%d",&t);
while(t--){
fscanf(fin,"%d %d %d",&n,&m,&start);
for(i=1; i<=n; i++)
fscanf(fin,"%d",&d[i]);
if(d[start] != 0)
valid = false;
else
valid = true;
for(i=0; i<m; i++){
fscanf(fin,"%d %d %d",&x,&y,&c);
if(d[x] + c < d[y])
valid = false;
}
if(valid)
fprintf(fout,"DA\n");
else
fprintf(fout,"NU\n");
}
fclose(fin);
fclose(fout);
return 0;
}