Pagini recente » Statistici Visan Traian-Dimitrie (TraianV) | Istoria paginii utilizator/cristina_micu0731 | Cod sursa (job #2006827) | Cod sursa (job #1935880) | Cod sursa (job #137764)
Cod sursa(job #137764)
#include <cstdio>
const int maxn = 50001;
FILE *in = fopen("nivele.in","r"), *out = fopen("nivele.out","w");
int t;
int n, k;
int a[maxn];
int b[maxn];
int h;
void go(int d)
{
++h;
if ( a[k] == h )
{
b[k++] = h;
--h;
return;
}
if ( k == n )
{
--h;
return;
}
go(d+1);
go(d+1);
--h;
}
int main()
{
fscanf(in, "%d", &t);
while ( t-- )
{
fscanf(in, "%d", &n);
k = 1;
h = 0;
for ( int i = 1; i <= n; ++i )
fscanf(in, "%d", &a[i]);
go(1);
int i;
for ( i = 1; i <= n; ++i )
if ( a[i] != b[i] )
fprintf(out, "NU\n"), i = n + 3;
if ( i != n + 4 )
fprintf(out, "DA\n");
}
return 0;
}