记录编号 115860 评测结果 AAAAA
题目名称 [UVa 11729] 突击战 最终得分 100
用户昵称 Gravatar筽邝 是否通过 通过
代码语言 Pascal 运行时间 0.172 s
提交时间 2014-08-23 11:04:14 内存使用 0.18 MiB
显示代码纯文本
program cojs1446;
const
  maxn=1010;
type
  anode=record
    b,j:longint;
  end;
var
  ans,i,count,n:longint;
  a:array[1..maxn]of anode;
  sum:array[0..maxn]of longint;

procedure qsort(l,r:longint);
var
  x,t:anode;
  i,j:longint;
begin
  i:=l; j:=r;
  x:=a[random(r-l+1)+l];
  repeat
    while (a[i].j>x.j)or((a[i].j=x.j)and(a[i].b<x.b)) do inc(i);
	while (a[j].j<x.j)or((a[j].j=x.j)and(a[j].b>x.b)) do dec(j);
	if i<=j then
	begin
	  t:=a[i]; a[i]:=a[j]; a[j]:=t;
	  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,'commando.in');reset(input);
assign(output,'commando.out');rewrite(output);

  readln(n);
  while n<>0 do
  begin
    inc(count);
    fillchar(a,sizeof(a),0);
	fillchar(sum,sizeof(sum),0);
	for i:=1 to n do
	  readln(a[i].b,a[i].j);
	qsort(1,n);
	sum[1]:=a[1].b;
	for i:=2 to n do
      sum[i]:=sum[i-1]+a[i].b;
	ans:=0;
	for i:=1 to n do
	  if sum[i]+a[i].j>ans then ans:=a[i].j+sum[i];
    writeln('Case ',count,': ',ans);
    readln(n);
  end;

close(input);close(output);
end.