Cod sursa(job #475729)
Utilizator | Paul-Dan Baltescu pauldb | Data | 8 august 2010 06:44:24 |
---|---|---|---|
Problema | Nivele | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <cstdio>
using namespace std;
const int MAXN = 50010;
int n, l;
int stack[MAXN];
int main() {
freopen("nivele.in", "r", stdin);
freopen("nivele.out", "w", stdout);
int t, x;
scanf("%d", &t);
for (; t; --t) {
l = 0;
scanf("%d", &n);
for (int i = 1; i <= n; ++i) {
scanf("%d", &x);
while (l > 0 && stack[l] == x) {
--x;
--l;
}
stack[++l] = x;
}
if (l == 1 && stack[1] == 1) {
printf("DA\n");
} else {
printf("NU\n");
}
}
return 0;
}