Cod sursa(job #137514)

Utilizator ProstuStefan-Alexandru Filip Prostu Data 17 februarie 2008 12:32:17
Problema Nivele Scor 90
Compilator cpp Status done
Runda preONI 2008, Runda 4, Clasele 11-12 Marime 0.51 kb
#include <cstdio>

const int NMAX = 1 << 16;

int T, N, K, Q, A[NMAX];

bool DFS(int d) {
	if (K >= N || Q > N) return true;

	if (d == A[K]) {
		++K; return false;
	}

	++Q;
	return DFS(d+1) || DFS(d+1);
}

int main(void) {
	freopen("nivele.in", "rt", stdin);
#ifndef _SCREEN_
	freopen("nivele.out", "wt", stdout);
#endif
	int i;
	
	scanf(" %d", &T);
	while (T--) {
		scanf(" %d", &N);

		for (i = 0; i < N; ++i)
			scanf(" %d", A + i);

		K = 0; Q = 1;
		printf((DFS(1) || K < N) ? "NU\n" : "DA\n");
	}

	return 0;
}