Pagini recente » Istoria paginii utilizator/unudoitrei | Profil candy_anna00 | Istoria paginii utilizator/loredana | Istoria paginii utilizator/galbeni | Cod sursa (job #205738)
Cod sursa(job #205738)
#include <stdio.h>
#define TRUE 1
#define FALSE 0
#define NMAX 50001
int v[NMAX];
int stv[NMAX];
int i,N,nr,s,OK;
int main()
{
freopen("nivele.in","r",stdin);
freopen("nivele.out","w",stdout);
int T;
scanf("%d", &T);
while (T--)
{
scanf("%d", &N);
for (i=1;i<=N;++i)
scanf("%d", &v[i]);
nr=s=stv[1]=1;
//caz particular
if (N==1 && v[1]==1)
{printf("DA\n");continue;}
for (i=1;i<=N;++i)
{
while (s<v[i]-1)
{
s++;
stv[s]=1;
nr++;
}
if (stv[s]==1) stv[s]=0;
else
{
while (s>0&&stv[s]==0)
s--;
if (s>0) stv[s]=0;
}
}
if (nr+1!=N |s!=0) OK=FALSE;
if (OK==TRUE) printf("DA\n");
else printf("NU\n");
}
return 0;
}