Pagini recente » Cod sursa (job #267392) | Cod sursa (job #2107291) | Cod sursa (job #2654219) | Cod sursa (job #86314) | Cod sursa (job #137818)
Cod sursa(job #137818)
#include <cstdio>
const int NMAX = 1 << 16;
const int VMAX = 52000;
typedef unsigned short tp;
tp T, N, K, Q, A[NMAX];
bool DFS(tp 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, u;
bool ok;
scanf(" %hu", &T);
while (T--) {
scanf(" %hu", &N);
ok = false;
for (i = 0; i < N; ++i) {
scanf(" %d", &u);
A[i] = u;
if (u > VMAX) ok = true;
}
K = 0; Q = 1;
printf((ok || DFS(1) || K < N) ? "NU\n" : "DA\n");
}
return 0;
}