Pagini recente » Cod sursa (job #1075428) | Cod sursa (job #1469282) | Cod sursa (job #897696) | Cod sursa (job #2622078) | Cod sursa (job #1479572)
#include <bits/stdc++.h>
using namespace std;
const int nmax = 50005;
bool verif_distance()
{
int n, m, s, d[nmax], i, x, y, c;
scanf("%d %d %d", &n, &m, &s);
for(i=1; i<=n; i++)
scanf("%d ", &d[i]);
if(d[s]!=0) return false;
for(i=1; i<=m; i++)
{
scanf("%d %d %d", &x, &y, &c);
if(d[x]+c < d[y]) return false;
if(d[y]+c < d[x]) return false;
}
return true;
}
int main()
{
freopen("distante.in", "r", stdin);
freopen("distante.out", "w", stdout);
int t;
scanf("%d ", &t);
while(t--)
{
if(verif_distance()==true) printf("DA\n");
else printf("NU\n");
}
fclose(stdin);
fclose(stdout);
return 0;
}