Cod sursa(job #2776460)

Utilizator PatrickCplusplusPatrick Kristian Ondreovici PatrickCplusplus Data 19 septembrie 2021 21:16:38
Problema Nivele Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>

using namespace std;

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

const int nmax = 50005;
int t, n, v[nmax], p;

int main(){
    fin >> t;
    while (t--){
        fin >> n;
        for (int i = 1; i <= n; ++i){
            fin >> v[i];
        }
        stack <int> stiva;
        stiva.push(v[1]);
        for (int i = 2; i <= n; ++i){
            int nv = v[i];
            while (stiva.size() && nv == stiva.top()){
                --nv;
                stiva.pop();
            }
            stiva.push(nv);
        }
        if (stiva.size() == 1 && stiva.top() == 1){
            fout << "DA\n";
        }
        else{
            fout << "NU\n";
        }
    }
    fin.close();
    fout.close();
    return 0;
}