Cod sursa(job #282176)

Utilizator andreirulzzzUPB-Hulea-Ionescu-Roman andreirulzzz Data 17 martie 2009 00:19:25
Problema Operatii Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.9 kb
program operatii;
var v:array[1..3000] of longint;
    mini,i,pozmax,n,op,min,pozmin:longint;
procedure gasire;
begin
     pozmin:=mini;
     while pozmin<n do
           if v[pozmin]<>0 then break
           else inc(pozmin);
     pozmax:=pozmin;
     while pozmax<n do
           if v[pozmax]=0 then begin
              dec(pozmax);
              break;
              end
           else inc(pozmax);
end;
procedure minim;
begin
     min:=maxlongint;
     for i:=pozmin to pozmax do
         if v[i]<min then min:=v[i];
end;
begin                 
assign(input,'operatii.in');
reset(input);
read(input,n);
for i:=1 to n do read(input,v[i]);
mini:=1;
op:=0;
repeat
      gasire;
      mini:=pozmin;
      minim;
      for i:=pozmin to pozmax do v[i]:=v[i]-min;
      inc(op)
until mini=n;
assign(output,'operatii.out');
rewrite(output);
write(output,op);
close(output);
end.