Pagini recente » Cod sursa (job #1966775) | Cod sursa (job #2147236) | Cod sursa (job #2280926) | Cod sursa (job #1497070) | Cod sursa (job #3223232)
#include <stdio.h>
#include <vector>
#define N 50000
#define INF (1LL << 62)
int dis[1 + N];
int n, m;
int main() {
FILE *fin, *fout;
int t, s, x, y, c;
fin = fopen("distante.in", "r");
fout = fopen("distante.out", "w");
fscanf(fin, "%d", &t);
while (t --) {
fscanf(fin, "%d%d%d", &n, &m, &s);
for ( int i = 1; i <= n; i ++ )
fscanf(fin, "%d", &dis[i]);
bool ok = true;
for ( int i = 1; i <= m; i ++ ) {
fscanf(fin, "%d%d%d", &x, &y, &c);
if ( dis[x] + c < dis[y] ) {
ok = false;
break;
}
}
if ( ok )
fprintf(fout, "DA\n");
else
fprintf(fout, "NU\n");
}
fclose(fin);
fclose(fout);
return 0;
}