Cod sursa(job #2683587)
Utilizator | Braica Patricia patriciaxd | Data | 11 decembrie 2020 17:18:21 |
---|---|---|---|
Problema | Nivele | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.93 kb |
#include<bits/stdc++.h>
using namespace std;
int k;
int v[50001];
ifstream in("nivele.in");
ofstream out("nivele.out");
int main()
{
in>>k;
int x,n;
for(int j=1; j<=k; j++)
{
int maxi=0;
in>>n;
for(int i=1; i<=n; i++)
{
in>>x;
v[x]++;
if(x>maxi)
maxi=x;
}
bool ok=0;
while(!ok)
{
ok=1;
for(int i=maxi; i>=2; i--)
if(v[i]&&v[i]%2==0)
{
ok=0;
v[i-1]+=v[i]/2;
v[i]=0;
}
}
ok=1;
for(int i=2; i<=maxi; i++)
if(v[i])
ok=0;
if(ok)
out<<"DA"<<'\n';
else
out<<"NU"<<'\n';
for(int i=2; i<=maxi; i++)
v[i]=0;
}
return 0;
}