Pagini recente » Cod sursa (job #2965346) | Cod sursa (job #1892683) | Cod sursa (job #1337452) | Cod sursa (job #2583661) | Cod sursa (job #67601)
Cod sursa(job #67601)
Program Branza;
var S : integer;
N,T : longint;
C,P : array[1..100000] of real;
costmin : real;
procedure Citeste;
var Intrare : text;
i : longint;
begin
assign(Intrare,'branza.in');
reset(Intrare);
readln(Intrare,N,S,T);
for i:=1 to n do readln(Intrare,C[i],P[i]);
close(Intrare);
end;
procedure Calculeaza;
var min,posmin : real;
i,j,imin : longint;
begin
costmin:=0.0;
for i:=1 to N do
begin
min:=C[i]*P[i];
if i>T then imin:=i-T else imin:=1;
for j:=imin to i-1 do
begin
posmin:=((i-j)*S+C[j])*P[i];
if posmin<min then min:=posmin;
end;
costmin:=costmin+min;
end;
end;
procedure Scrie;
var Iesire : text;
begin
assign(Iesire,'branza.out');
rewrite(Iesire);
write(Iesire,costmin:0:0);
close(Iesire);
end;
begin
Citeste;
Calculeaza;
Scrie;
end.