题目描述
约翰的 �N ( 1≤�≤500001≤N≤50000 )只牛在一个黑魃魃的洞里探险,他们只能通过叫声交流。
两只牛之间的曼哈顿距离决定了声音传播的时间。即牛1与牛2交流,需要的时间为 ∣�1−�2∣+∣�1−�2∣∣x1−x2∣+∣y1−y2∣ 。其中 −106≤�1,�2,�1,�2≤106−106≤x1,x2,y1,y2≤106 。
那任意一对牛之间交流时间的最大值为多少?
输入格式
第1行输入 �N ,接下来每行输入一只牛的坐标。
输出格式
交流时间最大值(即最大曼哈顿距离)。
输入输出样例
输入 #1
5
1 1
3 5
2 7
8 1
4 4
输出 #1
12
说明/提示
样例解释:
(2,7)(2,7) 和 (8,1)(8,1) 两点间的距离最大,为12。
代码如下:
#include<cstdio>
#include<cmath>
const int N=1e6+6;
int n,a[N]={},b[N]={},maxn=0;
int main(){
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d %d",&a[i],&b[i]);
}
for(int i=0;i<n-1;i++){
for(int j=i+1;j<n;j++){
if(abs(a[i]-a[j])+abs(b[i]-b[j])>maxn) maxn=abs(a[i]-a[j])+abs(b[i]-b[j]);
}
}
printf("%d",maxn);
return 0;
}