Cod sursa(job #132048)

Utilizator dominoMircea Pasoi domino Data 4 februarie 2008 22:16:31
Problema Nivele Scor Ascuns
Compilator cpp Status done
Runda Marime 0.59 kb
#include <stdio.h>

#define MAX_N 50005
#define FIN "nivele.in"
#define FOUT "nivele.out"

int T, N, stk[MAX_N], stk_len;

int main(void)
{
    int i, lev;

    freopen(FIN, "r", stdin);
    freopen(FOUT, "w", stdout);

    for (scanf("%d", &T); T; --T)
    {
        scanf("%d", &N);
        for (stk_len = i = 0; i < N; ++i)
        {
            scanf("%d", &lev);
            for (; stk_len > 0 && stk[stk_len-1] == lev; stk_len--, lev--);
            stk[stk_len++] = lev;
        }
        printf("%s\n", (stk_len == 1 && stk[0] == 1) ? "DA" : "NU");
    }

    return 0;
}