#include<stdio.h>
#include<algorithm>
#define R register int
#define N 100001
inline int Min(const int x,const int y){
return x<y?x:y;
}
inline int Abs(int x,const int y){
x-=y;
return x<0?-x:x;
}
int n,px[N],py[N];
int ct[2][2],bx[N],by[N];
int main(){
scanf("%d",&n);
for(R i=1;i<=n;i++){
scanf("%d%d",px+i,py+i);
bx[i]=px[i];
by[i]=py[i];
}
std::sort(bx+1,bx+n+1);
std::sort(by+1,by+n+1);
int m=n+1>>1,cx,cy,dx,dy;
cx=bx[m];
cy=by[m];
dx=bx[m+1]-bx[m];
dy=by[m+1]-by[m];
bool tag=false;
if((n&1)==1){
dx=Min(dx,bx[m]-bx[m-1]);
dy=Min(dy,by[m]-by[m-1]);
}
long long ans=0;
for(R i=1;i<=n;i++){
ans+=Abs(cx,px[i])+Abs(cy,py[i]);
if(px[i]==cx&&py[i]==cy){
tag=true;
}
ct[px[i]<=cx][py[i]<=cy]++;
}
if(ct[0][0]!=0&&ct[0][1]!=0&&((n&1)==0||tag==true)){
ans-=Min(dx,dy);
}
printf("%lld",ans<<1);
return 0;
}
Lexical Sorting Reloaded | 1514A - Perfectly Imperfect Array |
580A- Kefa and First Steps | 1472B- Fair Division |
996A - Hit the Lottery | MSNSADM1 Football |
MATCHES Playing with Matches | HRDSEQ Hard Sequence |
DRCHEF Doctor Chef | 559. Maximum Depth of N-ary Tree |
821. Shortest Distance to a Character | 1441. Build an Array With Stack Operations |
1356. Sort Integers by The Number of 1 Bits | 922. Sort Array By Parity II |
344. Reverse String | 1047. Remove All Adjacent Duplicates In String |
977. Squares of a Sorted Array | 852. Peak Index in a Mountain Array |
461. Hamming Distance | 1748. Sum of Unique Elements |
897. Increasing Order Search Tree | 905. Sort Array By Parity |
1351. Count Negative Numbers in a Sorted Matrix | 617. Merge Two Binary Trees |
1450. Number of Students Doing Homework at a Given Time | 700. Search in a Binary Search Tree |
590. N-ary Tree Postorder Traversal | 589. N-ary Tree Preorder Traversal |
1299. Replace Elements with Greatest Element on Right Side | 1768. Merge Strings Alternately |