Cod sursa(job #2029034)

Utilizator razvandraghiciDraghici Razvan razvandraghici Data 29 septembrie 2017 08:11:10
Problema Nivele Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.3 kb

#include <fstream>

using namespace std;

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

int t, i, nr, ok, n, ant, a, verif, j, p, ver;

int verificare(int nr){
    int coun = 0;
    while(nr>0){
        nr /= 2;
        coun ++;
    }
    return coun-1;
}


int main()
{
    fin>>t;
    for(i=1;i<=t;i++){
        nr=0;
        ok=0;
        ver=0;
        verif=0;
        fin>>n;
        fin>>a;
        for(j=2;j<=n;j++){
            ant=a;
            fin>>a;
            if(a==ant && nr<1){
                ok++;
                nr++;
                verif=1;
            }
            else{
                if(verif==0){
                    if(a<ant || a>ant+1){
                        ver=1;
                        fout<<"NU"<<'\n';
                        break;
                    }
                }
                else{
                    if(a==ant){
                        fout<<"NU"<<'\n';
                        ver=1;
                        break;
                    }
                    verif=0;
                }
            }
        }
        if(ver!=1){
            if(verificare(n)<=ok && ver!=1)
                fout<<"DA"<<'\n';
            else
                fout<<"NU"<<'\n';
        }

    }

    return 0;
}