Cod sursa(job #138107)
Utilizator | Gheorghe Cosmin gcosmin | Data | 17 februarie 2008 21:11:47 |
---|---|---|---|
Problema | Nivele | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.45 kb |
#include <stdio.h>
#define NMAX 50010
int N, T;
int nst;
int st[NMAX];
int main()
{
int i, q;
freopen("nivele.in", "r", stdin);
freopen("nivele.out", "w", stdout);
for (scanf("%d", &T); T; --T) {
scanf("%d", &N);
nst = 0;
for (i = 1; i <= N; i++) {
scanf("%d", &q);
st[++nst] = q;
while (nst >= 2 && st[nst - 1] == st[nst]) st[--nst]--;
}
if (!(nst == 1 && st[1] == 1)) printf("NU\n");
else printf("DA\n");
}
return 0;
}