Pagini recente » Cod sursa (job #860288) | Cod sursa (job #1862733) | Cod sursa (job #2579121) | Cod sursa (job #2744437) | Cod sursa (job #138138)
Cod sursa(job #138138)
#include <stdio.h>
int t, n, a[50005], b[50005], m;
void add(int i,int j)
{
for(;j<=i;j++) b[++m]=j;
}
int verif()
{
int i;
m = 0;
add(a[1],2);
for(i=2;i<=n;i++)
{
if(!m || !b[m] || a[i]<b[m]) return 0;
if(a[i]==b[m]) m--;
else
{
m--;
add(a[i],b[m+1]+1);
}
}
if(m) return 0;
return 1;
}
int main()
{
freopen("nivele.in","r",stdin);
freopen("nivele.out","w",stdout);
int i;
scanf("%d",&t);
while (t--)
{
scanf("%d",&n);
for (i = 1; i <= n; i++) scanf("%d", a + i);
if (verif()) printf("DA\n");
else printf("NU\n");
}
return 0;
}