Cod sursa(job #657690)

Utilizator informatician28Andrei Dinu informatician28 Data 7 ianuarie 2012 02:22:37
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream> 

using namespace std; 

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

int T, N, M, S, D[50005];

void verifica() 
{
	int i,x,y,c,ok; 
	
	ok = 1; 
	
	in >> N >> M >> S; 
	
	for(i = 1; i <= N; i++) 
		in >> D[i]; 
	
	if(D[S]) 
		ok=0;
	for(i = 1; i <= M; i++) 
	{
		in >> x >> y >> c; 
		
		if(D[x] + c < D[y]) 
			ok = 0;
	}
    
    if(ok) out << "DA" << '\n'; 
    
	else out << "NU" << '\n'; 	
}

int main() 
{
	in >> T; 
	
	for( ; T >0; -- T) 
		verifica(); 
	
	return 0; 
}