Cod sursa(job #1428766)

Utilizator LegionHagiu Stefan Legion Data 5 mai 2015 02:05:53
Problema Distante Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream in("distante.in");
ofstream out("distante.out");
int distante[50001];
bool compara(pair <int, int> &a, pair <int, int> &b)
{
	if (a.second > b.second) { return 1; }
	else { return 0; }
}
void rez()
{
	int i, n, m, k, x, y, z;
	in >> n >> m >> k;
	for (i = 1;i <= n;i++)
	{
		in >> distante[i];
	}
	if (distante[k] > 0) { out << "NU\n";return; }
	for (i = 1;i <= m;i++)
	{
		in >> x;
		in >> y;
		in >> z;
		if (distante[x] + z < distante[y] || distante[y] + z < distante[x])
		{
			out << "NU\n";
			return;
		}
	}
	out << "DA\n";
	return;
}
int main()
{
	int i, n;
	in >> n;
	for (i = 1;i <= n;i++)
	{
		rez();
	}
}