329E - Evil - CodeForces Solution


math *3100

Please click on ads to support us..

C++ Code:

#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;

}


Comments

Submit
0 Comments
More Questions

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