Cod sursa(job #1410469)

Utilizator theprdvtheprdv theprdv Data 31 martie 2015 05:43:13
Problema Distante Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#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; i++){
			fin >> x >> y >> c;
			if ((dist[y] > dist[x] + c) || (dist[x] > dist[y] + c)) { 
				less = true; break; 
			}
		}
		less ? fout << "NU\n" : fout << "DA\n";
	}

	fin.close();
	fout.close();
	return 0;
}