Cod sursa(job #115003)

Utilizator al3csutzuSirbu Alexandru al3csutzu Data 16 decembrie 2007 10:11:17
Problema Operatii Scor 60
Compilator fpc Status done
Runda preONI 2008, Runda 2, Clasa a 9-a Marime 0.75 kb
program operatziunile;
var n,i,rez,min,j,k:longint;
a:array[1..100000] of longint;
f,g:text;
term:boolean;
begin
  assign(f,'operatii.in'); assign(g,'operatii.out'); reset(f); rewrite(g);
  read(f,n);
  for i:=1 to n do
    read(f,a[i]);
  term:=false;
  rez:=0;
  while not term do
  begin
    i:=1;
    while i<=n do
    begin
      while (a[i]=0) and (i<=n) do i:=i+1;
      min:=100001;
      j:=i;
      term:=true;
      while (a[j]<>0) and (j<=n) do
      begin
        if a[j]<min then min:=a[j];
        j:=j+1;
        term:=false;
      end;
      j:=j-1;
      if not term then
      begin
        rez:=rez+min;
        for k:=i to j do a[k]:=a[k]-min;
      end;
    end;
  end;
  writeln(g,rez);
  close(f); close(g);
end.