Pagini recente » Cod sursa (job #2206404) | Cod sursa (job #1131113) | Cod sursa (job #1045733) | Cod sursa (job #410235) | Cod sursa (job #1410474)
#include <queue>
#include <functional>
#include <fstream>
#include <vector>
using namespace std;
fstream fin("distante.in", ios::in);
fstream fout("distante.out", ios::out);
#define MAXN 50005
int dist[MAXN];
int main()
{
int T;
fin >> T;
for (; T > 0; T--){
int n, s, x, y, c, m;
bool less = false;
fin >> n >> m >> s;
for (int i = 1; i <= n; i++) fin >> dist[i];
for (int i = 1; i <= m && !less; i++){
fin >> x >> y >> c;
if ((dist[y] > dist[x] + c) || (dist[x] > dist[y] + c))
less = true;
}
!less && !dist[s] ? fout << "DA\n" : fout << "NU\n";
}
fin.close();
fout.close();
return 0;
}