Pagini recente » Cod sursa (job #1150104) | Cod sursa (job #757081) | Cod sursa (job #3228222) | Cod sursa (job #2706456) | Cod sursa (job #1500763)
#include <bits/stdc++.h>
using namespace std;
const int N = 50005;
const int M = 100005;
int n, m, start, T;
int dist[N];
bool ok;
int main()
{
freopen("distante.in", "r", stdin);
freopen("distante.out", "w", stdout);
scanf("%d", &T);
for (int i5 = 1; i5 <= T; i5++)
{
memset(dist, 0 ,sizeof dist);
ok = true;
scanf("%d %d %d", &n, &m, &start);
for (int i = 1; i <= n; i++)
scanf("%d", &dist[i]);
if (dist[start]) ok = false;
for (int i = 1, a, b, c; i <= m; i++)
{
scanf("%d %d %d", &a, &b, &c);
if (dist[a] + c < dist[b] || dist[b] + c < dist[a]) ok = false;
}
if (ok) printf("DA");
else printf("NU");
printf("\n");
}
return 0;
}