Cod sursa(job #1482090)

Utilizator al.mocanuAlexandru Mocanu al.mocanu Data 5 septembrie 2015 23:07:45
Problema Distante Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <stdio.h>
#define MAX 50005

int t, n, m, s, i, j, x, y, c, d[MAX], rez;

int main(){
	freopen("distante.in", "r", stdin);
	freopen("distante.out", "w", stdout);
	scanf("%d", &t);
	for(i = 0; i < t; i++){
		rez = 1;
		scanf("%d%d%d", &n, &m, &s);
		for(j = 1; j <= n; j++)
			scanf("%d", &d[j]);
		if(d[s])
			rez = 0;
		for(j = 0; j < m; j++){
			scanf("%d%d%d", &x, &y, &c);
			if(d[x] + c < d[y] || d[y] + c < d[x])
				rez = 0;
		}
		if(rez)
			printf("DA\n");
		else
			printf("NU\n");
	}
	return 0;
}