📄 power1.pas
字号:
program E1_10a; {power}
var d,p:array[1..10000] of integer;
n,c,i,t,min,w:longint;
procedure search(left,right,c:integer);
begin
if (left=0) and (right=n+1) then if w<min then min:=w else
else
begin
if left>0 then
begin
t:=t+d[c]-d[left]; w:=w+p[left]*t;
if w<min then search(left-1,right,left);
w:=w-t*p[left]; t:=t-d[c]+d[left];
end;
if right<n+1 then
begin
t:=t+d[right]-d[c]; w:=w+p[right]*t;
if w<min then search(left,right+1,right);
w:=w-t*p[right]; t:=t-d[right]+d[c];
end;
end
end;
begin {main}
assign(input,'power.in');reset(input); readln(n,c);
for i:=1 to n do readln(d[i],p[i]);
close(input);
min:=maxlongint; t:=0;
search(c-1,c+1,c);
assign(output,'power.out'); rewrite(output);
writeln(min); close(output)
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -