Cod sursa(job #409905)

Utilizator DanielGGlodeanu Ioan Daniel DanielG Data 3 martie 2010 22:09:14
Problema Branza Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.81 kb
var f:text; n,s,t,i,j,min,k,x,xx,l:longint;
p,q,sol:array[1..100000] of integer;
procedure citire;
begin
assign(f,'branza.in');reset(f);
read(f,n,s,t);
for i:=1 to n do
          read(f,p[i],q[i]);
close(f);
sol[n]:=p[n]*q[n];
end;
begin
citire;
for i:=n-1 downto 1 do
        begin
        min:=sol[i+1]+p[i]*q[i];
        x:=p[i]*q[i];
        k:=n;
        if i+t-1<n then k:=i+t-1;
        for j:=i+1 to k do
                begin
                  t:=0;
                  for l:=j to k do t:=t+s*q[l];
                  x:=x+q[j]*p[i]+t;
                  xx:=x;
                  for l:=j+1 to n do xx:=xx+p[l]*q[l]+q[l]*s;
                  if min>xx then min:=xx;
                end;
        sol[i]:=min;
        end;
assign(f,'branza.out');rewrite(f);
writeln(f,sol[1]);
close(f);
end.