记录编号 |
115860 |
评测结果 |
AAAAA |
题目名称 |
[UVa 11729] 突击战 |
最终得分 |
100 |
用户昵称 |
筽邝 |
是否通过 |
通过 |
代码语言 |
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.