POJ 1723 SOLDIERS

解法
ソートして中央値を適当にとる
よくわからない

#include <cstdio>
#include <algorithm>
using namespace std;

const int MAX_N = 10000;
int X[MAX_N], Y[MAX_N];
int N;
int main(){
	scanf("%d", &N);
	for(int i = 0; i < N; i++)
		scanf("%d %d", &X[i], &Y[i]);
	sort(Y, Y+N);
	sort(X, X+N);
	int y = Y[N/2];	
	int dy = 0;
	for(int i = 0; i < N; i++)
		dy += abs(Y[i]-y);
	int x, dx = 0;
	for(int i = 0; i < N; i++)
		X[i] += (N-i-1);
	sort(X, X + N);
	x = X[N/2];
	for(int i = 0; i < N; i++)
		dx += abs(x-X[i]);
	printf("%d\n", dy + dx);
	return 0;
}