Pagini recente » Cod sursa (job #2490992) | Cod sursa (job #1942512) | Cod sursa (job #859842) | Cod sursa (job #138113)
Cod sursa(job #138113)
var fi,fo:text;
n,i,T,k,max,j:longint;
a:array[1..2,0..60000]of longint;
procedure solve(max,n:longint);
var j,i,niv,nev,aux,ct:longint;
begin
niv:=1; nev:=2;
for i:=max downto 2 do
begin
ct:=0;
j:=1;
a[niv,n+1]:=0;
while j<=n do
if (a[niv,j]=i)and(a[niv,j+1]=i)and(j<n) then
begin
inc(ct);
a[nev,ct]:=i-1;
inc(j,2);
end
else
if (a[niv,j]=i)and(a[niv,j+1]<>i) then
begin
writeln(fo,'NU');
exit;
end
else
begin
inc(ct);
a[nev,ct]:=a[niv,j];
inc(j);
end;
if n=ct then
begin
writeln(fo,'NU');
exit;
end;
aux:=niv;
niv:=nev;
nev:=aux;
n:=ct;
end;
if a[niv,1]=1 then writeln(fo,'DA')
else writeln(fo,'NU');
end;
begin
assign(fi,'nivele.in'); reset(fi);
assign(fo,'nivele.out'); rewrite(fo);
read(fi,T);
for i:=1 to T do
begin
read(fi,n);
max:=0;
for j:=1 to n do
begin
read(fi,a[1,j]);
if a[1,j]>max then max:=a[1,j];
end;
solve(max,n);
end;
close(fi);
close(fo);
end.