Cod sursa(job #280429)

Utilizator Andrei_ScorpioAndreiana Andrei Daniel Andrei_Scorpio Data 13 martie 2009 13:11:39
Problema Nivele Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>
#define Nmax 50050
long n,a[Nmax];
int t;

int program(long n)
{
 unsigned long st[Nmax],vf=0;
 long i;
 for(i=1;i<=n;i++)
 {   vf++;
	scanf("%ld",&st[vf]);
	if(st[vf]>n)
		return 0;
	while(st[vf]==st[vf-1] && vf>1)
	{	vf--;
		st[vf]--;
		if(st[vf]==0)
			return 0;
	}
 }
  if(vf==1 && st[vf]==1)
	return 1;
  else
	return 0;
}

int main()
{
 freopen("nivele.in","r",stdin);
 freopen("nivele.out","w",stdout);
 scanf("%d",&t);
 long i;
 for(i=1;i<=t;i++)
 {
	scanf("%ld",&n);
	if(program(n))
		printf("DA\n");
	else
		printf("NU\n");
 }
 fclose(stdin);
 fclose(stdout);
 return 0;
}