Cod sursa(job #1248504)

Utilizator costty94Duica Costinel costty94 Data 25 octombrie 2014 12:58:12
Problema Distante Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <stdio.h>
#include <stdlib.h>

int main()
{
	int N, T, D[50055], S, a, b, c, ok, i, j, M;

	freopen("distante.in", "r", stdin);
	freopen("distante.out", "w", stdout);

	scanf("%d", &T);

	for(i = 1; i <= T; ++i)
	{
		ok = 1;
		scanf("%d%d%d", &N, &M, &S);
		for(j = 1; j <= N; ++j)
			scanf("%d", &D[j]);
		if(D[S])
			ok = 0;
		for(j = 1; j <= M; ++j)
		{
			scanf("%d%d%d", &a, &b, &c);
			if(D[a] > D[b] + c || D[b] > D[a] + c)
			{
				ok = 0;
				break;
			}
		}
		if(ok)
			printf("DA\n");
		else
			printf("NU\n");
	}
	return 0;
}