Pagini recente » Cod sursa (job #83276) | Cod sursa (job #198973) | Cod sursa (job #2666850) | Cod sursa (job #2767270) | Cod sursa (job #1500808)
#include <stdio.h>
using namespace std;
const int N = 50005;
int main()
{
int n, m, start, T;
int dist[N];
bool ok;
freopen("distante.in", "r", stdin);
freopen("distante.out", "w", stdout);
scanf("%d", &T);
for (; T--;)
{
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);
ok &= dist[a] + c < dist[b] || dist[b] + c < dist[a];
}
if (ok) printf("DA\n");
else printf("NU\n");
}
return 0;
}