Cod sursa(job #364756)
| Utilizator | Data | 16 noiembrie 2009 21:48:12 | |
|---|---|---|---|
| Problema | Nivele | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
# include <stdio.h>
int f[100000],t,n,k,s,ok,x,max,i,j;
int main ()
{
freopen ("nivele.in","r",stdin);
freopen ("nivele.out","w",stdout);
scanf ("%i",&t);
for (k=1;k<=t;k++)
{
max=0;
scanf ("%i",&n);
for (i=1;i<=n;i++)
{
scanf ("%i",&x);
f[x]++;
if (max<x)
max=x;
}
ok=0;
for (i=max;i>1;i--)
if (f[i]%2==0)
f[i-1]=f[i-1]+f[i]/2;
else
ok=1;
if (f[1]!=1)
ok=1;
if (ok==0)
printf ("DA\n");
else
printf ("NU\n");
}
return 0;
}