比赛 10101115 评测结果 AAAAWAWWWW
题目名称 矩形分割 最终得分 50
用户昵称 王者自由 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2010-11-15 10:52:21
显示代码纯文本
program cut;
var n,m,i,j,k,w:integer;
  A,C:array of integer;
procedure Qsort(l,r:integer);
var i,j,x,y:integer;
begin
  i:=l; j:=r; x:=A[(l+r) div 2];
  repeat
    while A[i]>x do inc(i);
    while x>A[j] do dec(j);
    if not(i>j) then
    begin
      y:=A[i]; A[i]:=A[j]; A[j]:=y;
      y:=C[i]; C[i]:=C[j]; C[j]:=y;
      inc(i); dec(j);
    end;
  until i>j;
  if l<j then Qsort(l,j);
  if i<r then Qsort(i,r);
end;
begin
  assign(input,'cut.in'); reset(input);
  assign(output,'cut.out'); rewrite(output);
  readln(n,m);
  setlength(A,n+m); setlength(C,n+m);
  for i:=1 to n-1 do read(A[i]);
  for i:=1 to m-1 do read(A[i+n-1]);
  for i:=1 to n+m-2 do C[i]:=i;
  Qsort(1,n+m-2);
  i:=1; j:=1; k:=1; w:=0;
  while not((i=n)and(j=m)) do
  begin
    if c[k]>n-1
      then begin w+=i*a[k]; j+=1; end
      else begin w+=j*a[k]; i+=1; end;
    k+=1;
  end;
  writeln(w);
  close(input); close(output);
end.