Pagini recente » Cod sursa (job #506772) | Cod sursa (job #657963) | Cod sursa (job #118618) | Monitorul de evaluare | Cod sursa (job #138518)
Cod sursa(job #138518)
#include<stdio.h>
#define Nm (1<<16)
int A[Nm],n,p;
void read()
{
int i;
scanf("%d",&n);
for(i=0;i<n;++i)
scanf("%d",A+i);
}
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()
{
int i;
for(i=0;i<n;++i)
if(A[i]>n)
return 0;
p=0;
return DFS(1) && p==n;
}
int main()
{
int t;
freopen("nivele.in","r",stdin);
freopen("nivele.out","w",stdout);
scanf("%d",&t);
while(t--)
{
read();
if(solve())
printf("DA\n");
else
printf("NU\n");
}
return 0;
}