Cod sursa(job #870764)

Utilizator deea101Andreea deea101 Data 3 februarie 2013 21:34:33
Problema Distante Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include <fstream>
using namespace std;
ifstream f("distante.in");
ofstream g("distante.out");
int d[50001];
int main()
{
	int t,i,j,n,m,s,x,y,c,ok;
	f>>t;
	for(i=0;i<t;i++)
	{
		ok=1;
		f>>n>>m>>s;
		for(j=1;j<=n;j++)
		{
			f>>d[j];
			if(j==s && d[j]!=0) { ok=0; break; }
		}
		for(j=1;j<=m;j++)
		{
			f>>x>>y>>c;
			if(d[x]+c<d[y] || d[y]+c<d[x]) {ok=0; break;}
		}
		
		if(!ok) g<<"NU"<<'\n';
		else g<<"DA"<<'\n';
	}
}