Cod sursa(job #364761)

Utilizator ProcopliucProcopliuc Adrian Procopliuc Data 16 noiembrie 2009 21:53:00
Problema Nivele Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 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++)
	{


	for (i=0;i<=max;i++)
	f[i]=0;
	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;
  }