Cod sursa(job #115498)

Utilizator razvan_emPrecupas Razvan razvan_em Data 16 decembrie 2007 12:51:04
Problema Operatii Scor 0
Compilator fpc Status done
Runda preONI 2008, Runda 2, Clasa a 10-a Marime 0.65 kb
program operatii;
type vector=array [1..10000] of 1..100000;
     valoare=1..100000;
var f,g:text;
    n,i,nr:longint;
    v:vector;

procedure divide_et_impera(p,k:longint);
var j,l:longint;
    min:valoare;
begin
min:=v[p];
for j:=p+1 to k do
if min>v[j] then min:=v[j];  write(g,min);
nr:=nr+min;
for j:=p to k do
if v[j]>min then begin
l:=j-1;
repeat
l:=l+1;
until (v[l]=min) or (l=k);
divide_et_impera(j,l-1);
j:=l+1;
end; end;

begin
assign(f,'operatii.in'); reset(f);
assign(g,'operatii.out'); rewrite(g);
readln(f,n);
for i:=1 to n do read(f,v[i]);
divide_et_impera(1,n);
write(g,nr);
close(f); close(g);
end.