Cod sursa(job #132261)

Utilizator astronomyAirinei Adrian astronomy Data 5 februarie 2008 15:37:35
Problema Nivele Scor Ascuns
Compilator cpp Status done
Runda Marime 0.74 kb
#include <stdio.h>
#include <cassert>
using namespace std;

#define MAXN 50100

int N, st[MAXN];

int main(void)
{
    assert(freopen("nivele.in", "rt", stdin));
    assert(freopen("nivele.out", "wt", stdout));

    int i, j, k, t, p;

    assert( scanf("%d\n", &t) == 1 );

    assert(t >= 1 && t <= 10);

    while(t--)
    {
        assert( scanf("%d", &N) == 1 );
	assert(N >= 1 && N <= 50000);
        for(p = 0, i = 1; i <= N; i++)
        {
            assert( scanf("%d ", &k) == 1 );
            assert(k >= 1 && k <= 1000000000);
            for(; p > 0 && st[p-1] == k; p--, k--) ;
            st[p++] = k;
        }
        printf("%s\n", (p == 1 && st[0] == 1) ? "DA" : "NU");
    }

    return 0;
}