Pagini recente » Cod sursa (job #1193317) | Cod sursa (job #471210) | Cod sursa (job #1022422) | Cod sursa (job #2239366) | Cod sursa (job #2532162)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <set>
#include <cstring>
#define INF (1 << 30)
#define NMAX 50005
using namespace std;
ifstream fin("distante.in");
ofstream fout("distante.out");
int dist[NMAX];
int T, N, M, S;
int main()
{
int x, y, c;
fin >> T;
for(int t = 1; t <= T; t++){
fin >> N >> M >> S;
for(int i = 1; i <= N; i++){
fin >> x;
dist[i] = x;
}
bool ok = true;
for(int i = 1; i <= M; i++){
fin >> x >> y >> c;
if(dist[x] + c < dist[y] || dist[y] + c < dist[x])
ok = false;
}
if(!ok || dist[S] != 0){
fout << "NU" << "\n";
}
else{
fout << "DA" << "\n";
}
}
return 0;
}