Pagini recente » Cod sursa (job #3202289) | Cod sursa (job #754938) | Profil StarGold2 | Cod sursa (job #3292476) | Cod sursa (job #137614)
Cod sursa(job #137614)
#include <cstdio>
#include <cmath>
using namespace std;
long t,n,a[50000];
int main()
{
freopen("nivele.in","r",stdin);
freopen("nivele.out","w",stdout);
scanf("%ld\n",&t);
long i,j,ok;
for (i=0;i<t;i++)
{
ok=1;
scanf("%ld",&n);
for (j=0;j<n;j++)
{
scanf("%ld",&a[j]);
if (j>0&&(a[j]>a[j-1]+1||a[j]<a[j-1]))
ok=0;
}
if (!ok)
{
printf("NU\n");
continue;
}
j=1;
while (j<n&&a[j]==a[0])
j++;
if (a[0]<16&&j>pow(double(2),double(a[0]-1)))
{
printf("NU\n");
continue;
}
while (j<n)
{
long st=j;
j++;
while (j<n&&a[j]==a[st])
j++;
if (a[st]<16)
{
if ((j<n&&j-st!=pow(double(2),double(a[st]-1)))||(j==n&&j-st>pow(double(2),double(a[st]-1))))
{
printf("NU\n");
ok=0;
break;
}
}
else
if (j<n)
{
printf("NU\n");
ok=0;
break;
}
}
if (ok)
printf("DA\n");
}
return 0;
}