Pagini recente » Cod sursa (job #1625180) | Cod sursa (job #2783484) | Cod sursa (job #2166983) | Cod sursa (job #1487324) | Cod sursa (job #1500827)
#include <stdio.h>
#include <assert.h>
#define N 50005
int a[N];
int main()
{
freopen("distante.in", "r", stdin);
freopen("distante.out", "w", stdout);
int n, m, start, T, ok;
assert(scanf("%d", &T) == 1);
while (T--)
{
ok = 1;
assert(scanf("%d %d %d", &n, &m, &start) == 3);
int i;
for (i = 1; i <= n; i++)
assert(scanf("%d", &a[i]) == 1);
if (a[start]) ok = 0;
for (i = 1; i <= m; i++)
{
int a1, b, c;
assert(scanf("%d %d %d", &a1, &b, &c) == 3);
ok &= !(a[a1] + c < a[b] || a[b] + c < a[a1]);
}
if (ok) printf("DA\n");
else printf("NU\n");
}
return 0;
}