Cod sursa(job #942757)

Utilizator tudorv96Tudor Varan tudorv96 Data 23 aprilie 2013 14:40:04
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>
#include <vector>
using namespace std;

#define in "distante.in"
#define out "distante.out"
#define N 50005

vector <int> data (N);
int n, m, s, t;

int main ()
{
	ifstream fin (in);
	ofstream fout (out);
	fin >> t;
	while (t--) {
		bool sol = 1;
		fin >> n >> m >> s;
		for (int i = 1; i <= n; ++i)
			fin >> data[i];
		sol = data[s] ? 0 : 1;
		for (int i = 0; i < m; ++i) {
			int x, y, c;
			fin >> x >> y >> c;
			if (data[x] + c < data[y] || data[y] + c < data[x])
				sol = 0;
		}
		fout << (sol ? "DA" : "NU") << "\n";
	}
	fout.close();
	return 0;
}