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