记录编号 |
20985 |
评测结果 |
AAAAAAAAAA |
题目名称 |
漂亮字串 |
最终得分 |
100 |
用户昵称 |
苏轼 |
是否通过 |
通过 |
代码语言 |
Pascal |
运行时间 |
0.023 s |
提交时间 |
2010-11-02 09:14:56 |
内存使用 |
0.11 MiB |
显示代码纯文本
program bs(input,output);
var
i,len,counto,countx,maxo,maxx,tmp,kkk:longint;
function min(const a,b:longint):longint;
begin
if a>b then
exit(b)
else
exit(a);
end;
function max(const a,b:longint):longint;
begin
if a>b then
exit(a)
else
exit(b);
end;
begin
assign(input,'bs.in');
reset(input);
assign(output,'bs.out');
rewrite(output);
while not(eof) do
begin
readln(counto,countx,maxo,maxx);
len:=0;
if (maxo>0)and(maxx>0) then
begin
kkk:=min(counto,countx);
dec(counto,kkk);
dec(countx,kkk);
len:=kkk*2;
for i:=1 to kkk do
begin
tmp:=min(counto,maxo-1);
dec(counto,tmp);
len:=len+tmp;
tmp:=min(countx,maxx-1);
dec(countx,tmp);
len:=len+tmp;
if (countx=0)and(counto=0) then
break;
end;
len:=len+max(min(counto,maxo),min(countx,maxx));
end
else if (maxo=0)and(maxx>0) then
len:=min(countx,maxx)
else if (maxo>0)and(maxx=0) then
len:=min(counto,maxo);
writeln(len);
end;
close(input);
close(output);
end.