记录编号 1991 评测结果 AAAAAAAAAA
题目名称 乘法问题 最终得分 100
用户昵称 Gravatar苏轼 是否通过 通过
代码语言 Pascal 运行时间 0.026 s
提交时间 2008-09-10 20:22:23 内存使用 0.13 MiB
显示代码纯文本
program chf;
var f,g:array[0..30,0..30]of int64;
    max,n,k:int64;
    i,j,l:longint;
    num:array[1..30]of char;
    txt:text;
begin
 assign(txt,'chf.in');
 reset(txt);
 readln(txt,n,k);

 for i:=1 to n do
  read(txt,num[i]);
 close(txt);

 for i:=1 to n do
  for j:=i to n do
   g[i,j]:=g[i,j-1]*10+ord(num[j])-ord('0');

 for i:=1 to n do
  f[i,0]:=g[1,i];

 for j:=1 to k do
  for i:=1 to n do
  begin
   max:=0;
   for l:=i-1 downto j do
   begin
    if f[l,j-1]*g[l+1,i]>max then
     max:=f[l,j-1]*g[l+1,i];
   end;
   f[i,j]:=max;
  end;

 assign(txt,'chf.out');
 rewrite(txt);
 writeln(txt,f[n,k]);
 close(txt);
end.