Cod sursa(job #161870)

Utilizator vlad.maneaVlad Manea vlad.manea Data 18 martie 2008 21:44:36
Problema Nivele Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <stdio.h>
#define nmax 50005

int k, ok, T, i, V[nmax], N, pre[nmax], urm[nmax];

int main()
{
	freopen("nivele.in", "r", stdin);
	freopen("nivele.out", "w", stdout);

	scanf("%d", &T);

	while (T--)
	{
		scanf("%d", &N);

		for (i = 1; i <= N; ++i)
			scanf("%d", &V[i]);

		for (i = 1; i <= N; ++i)
		{
			pre[i] = i-1;
			urm[i] = i+1;
		}

		for (i = 1; i <= N; i = urm[i])
			while (V[i] == V[pre[i]] && i < N+1 && pre[i] > 0)
			{
				V[i]--;
				pre[i] = pre[pre[i]];
			}

		if (V[N] == 1)
			printf("DA\n");
		else
			printf("NU\n");
	}

	return 0;
}