Cod sursa(job #2311129)

Utilizator mihai50000Mihai-Cristian Popescu mihai50000 Data 2 ianuarie 2019 17:40:18
Problema Distante Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <bits/stdc++.h>
using namespace std;

ifstream in("distante.in");
ofstream out("distante.out");

const int DIM = 5e4 + 7;

int d[DIM];

void solve()
{
	int n, m, st;
	in >> n >> m >> st;
	
	for(int i = 1; i <= n; i++)
		in >> d[i];
	
	bool ok = true;
	
	while(m--)
	{
		int x, y, c;
		in >> x >> y >> c;
		
		if(d[x] + c < d[y] || d[y] + c < d[x])
			ok = false;
	}
	
	if(d[st] != 0 || ok == false)
		out << "NU\n";
	else
		out << "DA\n";
}

int main()
{
	int t;
	in >> t;
	
	while(t--)
		solve();
}