Cod sursa(job #2052103)

Utilizator MihaelaCismaruMihaela Cismaru MihaelaCismaru Data 29 octombrie 2017 23:36:08
Problema Nivele Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include<fstream>
using namespace std;
ifstream in("nivele.in");
ofstream out("nivele.out");
int t,n,g,hz[50001],maxi,ok,x;
int main (void) {
    in >> t;
    for (int g = 1; g <= t; g ++) {
        in >> n;
        maxi = 0;
        for (int i = 1; i <= n; i ++) {
            in >> x;
            hz[x] ++;
            maxi = max (maxi, x);
        }
        ok = 1;
        for (int i = maxi; i >= 2; i --) {
            if (hz[i] % 2 == 1){
                ok = 0; break;
            }
            else{
                hz[i-1] += hz[i]/2;
                hz[i] = 0;
            }
        }
        if (ok == 0) {
            out << "NU"<<"\n";
        }
        else
        if (hz[1] == 1) {
            out <<"DA"<<"\n";
        }
        else{
            out <<"NU"<<"\n";
        }
        hz[1] = 0;
        for (int i = 1; i <= maxi; i ++) {
            hz[i] = 0;
        }
    }
    return 0;
}