Cod sursa(job #2342384)

Utilizator flibiaVisanu Cristian flibia Data 12 februarie 2019 19:31:00
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <bits/stdc++.h>
#define ll long long

using namespace std;

#define dim 100000
char buff[dim];
int p = 0;
 
void read(int &nr){
	nr = 0;
	while((buff[p] < '0' || buff[p] > '9') && buff[p] != '-')
		if(++p == dim) 
			fread(buff, 1, dim, stdin), p = 0;
	bool semn = 0;
	if(buff[p] == '-')
		semn = 1;
	if(semn)
		if(++p == dim) 
			fread(buff, 1, dim, stdin), p = 0;
	while(buff[p] >= '0' && buff[p] <= '9'){
		nr = 10 * nr + buff[p] - '0';
		if(++p == dim) 
			fread(buff, 1, dim, stdin), p = 0;
	}
	if(semn)
		nr = -nr;
}

int n, x[1000100], y[1000100];
ll ans;

void solve(int x[]) {
	int mid = n / 2 + (n & 1);
	for (int i = 1; i <= n; i++)
		ans += abs((ll)x[i] - (ll)x[mid]);
}

int main() {
	freopen("antitir.in", "r", stdin);
	freopen("antitir.out", "w", stdout);
	read(n);
	for (int i = 1; i <= n; i++)
		read(x[i]), read(y[i]);
	sort(x + 1, x + n + 1);
	sort(y + 1, y + n + 1);
	solve(x);
	solve(y);
	cout << ans;
	return 0;
}