P3382: [Usaco2004 Open]Cave Cows 3 洞穴里的牛之三

首先,我们先确定,最长的曼哈顿距离只可能为 x1+y2-(x2+y2) 和 x1-y1-(x2-y2) 所以我们只需要维护四个值,

分别代表 max(x+y) ; max(x-y) ; min(x+y) ; min(x-y) ;

因此答案也就是 max(max(x+y)-min(x+y),max(x-y)-min(x-y))。

 1 const maxn=3000000;
 2 var maxadd,minadd,maxdec,mindec,i,a,b,n:longint;
 3 function max(a,b:longint):longint;
 4 begin
 5   if a>b then exit(a)
 6     else exit(b);
 7 end;
 8 function min(a,b:longint):longint;
 9 begin
10   if a<b then exit(a)
11     else exit(b);
12 end;
13 begin
14   minadd:=maxn; mindec:=maxn;
15   readln(n);
16   for i:=1 to n do
17     begin
18       readln(a,b);
19       maxadd:=max(maxadd,a+b);
20       minadd:=min(minadd,a+b);
21       maxdec:=max(maxdec,a-b);
22       mindec:=min(mindec,a-b);
23     end;
24   writeln(max(maxadd-minadd,maxdec-mindec));
25 end.
View Code

  (转载请注明出处:http://www.cnblogs.com/Kalenda/)

转载于:https://www.cnblogs.com/Kalenda/p/4830565.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值