Pagini recente » Cod sursa (job #1307670) | Cod sursa (job #518836) | Cod sursa (job #1556097) | Cod sursa (job #37518) | Cod sursa (job #137812)
Cod sursa(job #137812)
#include<stdio.h>
#define Nm (1<<16)
int A[Nm],n,p;
int read()
{
int i;
scanf("%d",&n);
for(i=0;i<n;++i)
{
scanf("%d",A+i);
if(A[i]>n)
return 0;
}
return 1;
}
char DFS(int niv)
{
if(p==n || A[p]<niv)
return 0;
if(A[p]==niv)
{
++p;
return 1;
}
return DFS(niv+1) && DFS(niv+1);
}
int solve()
{
if(!read())
return 0;
p=0;
if(DFS(1) && p==n)
return 1;
return 0;
}
int main()
{
int t;
freopen("nivele.in","r",stdin);
freopen("nivele.out","w",stdout);
scanf("%d",&t);
while(t--)
if(solve())
printf("DA\n");
else
printf("NU\n");
return 0;
}