Cod sursa(job #364737)
| Utilizator | Data | 16 noiembrie 2009 20:44:07 | |
|---|---|---|---|
| Problema | Nivele | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.64 kb |
# include <stdio.h>
int f[10000],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;
s=1;
for (i=1;i<=max;i++)
{
s=s-f[i];
if (s==0)
{
for (j=i+1;j<=max;j++)
if (f[j]!=0)
ok=1;
}
else
s=s*2;
}
if (s!=0)
ok=1;
if (ok==0)
printf ("DA\n");
else
printf ("NU\n");
}
return 0;
}