渔人 2010-10-26 06:00:00
点我顶贴
收藏
删除
program ke;
var n,w,m,i,j,l,r,x,p,q:longint;
g,f:array[0..100,0..100] of int64;
begin
read(n,m);
for i:=1 to m do
begin
g[i,0]:=0;
readln(p,q);
for j:=1 to n do
begin
r:=1;
for l:=1 to q do r:=r*j;
g[i,j]:=r*p;
end;
end;
for i:=0 to n do f[1,i]:=g[1,i];
for i:=2 to m do
for j:=n downto 0 do
for l:=j downto 0 do
if (f[i,j]>f[i-1,j-l]+g[i,l])or(f[i,j]=0) then
f[i,j]:=f[i-1,j-l]+g[i,l];
writeln(f[m,n]);
end.