Cod sursa(job #906107)

Utilizator okros_alexandruOkros Alexandru okros_alexandru Data 6 martie 2013 15:09:05
Problema Nivele Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
#include <stack>
#define nmax 50100
using namespace std;

int T,N,Solution,A[nmax];

void solve() {

    int i;
    stack <int> St;

    for(i=1;i<=N;i++) {

        while(!St.empty() && St.top()==A[i]) {
            A[i]--;
            St.pop();
            }

        St.push(A[i]);

        }

    Solution=St.size()&(St.top()==1);

}
void read(ifstream & in) {

    in>>N;

    for(int i=1;i<=N;i++)
        in>>A[i];

}
int main() {

    ifstream in("nivele.in");
    ofstream out("nivele.out");

    in>>T;
    while(T--) {

        read(in);
        solve();

        if(Solution)
            out<<"DA\n";
        else
            out<<"NU\n";

        }

    in.close();
    out.close();

    return 0;

}