Cod sursa(job #137760)

Utilizator vladianavladiana micu vladiana Data 17 februarie 2008 14:25:02
Problema Nivele Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.96 kb
var fi,fo:text;
    T,n,i,j,k:longint;
    a:array[1..50001]of longint;
function max:longint;
var i,maxim,poz:longint;
begin
  maxim:=0;
  for i:=1 to n do
    if maxim<a[i] then
      begin
        maxim:=a[i];
        poz:=i;
      end;
  max:=poz;
end;
procedure solve;
var i:longint;
begin
  k:=1;
  while a[k]<>1 do
    begin
      k:=max;
      if k=n then begin writeln(fo,'NU'); exit; end;
      for i:=k+1 to n do
       if a[i]<>0 then
        if a[i]=a[k] then
        begin
          a[k]:=a[k]-1;
          a[i]:=0;
          break;
         end

      else
        begin
          writeln(fo,'NU');
          exit;
        end;
    end;
   writeln(fo,'DA');
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);
      for j:=1 to n do
        read(fi,a[j]);
      solve;
      end;
    close(fi);
    close(fo);
end.