Pagini recente » Cod sursa (job #3344912) | Cod sursa (job #3345741) | Cod sursa (job #3330336) | Cod sursa (job #3322994) | Cod sursa (job #3353723)
#include <iostream>
#include <fstream>
#include <cstdio>
#include <climits>
#include <algorithm>
using namespace std;
int vl[50005];
int vlc[50005];
int vc[50005];
int vcc[50005];
int main()
{
freopen("tribute.in", "r", stdin);
freopen("tribute.out", "w", stdout);
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n, dx, dy;
cin >> n >> dx >> dy;
for (int i=1; i<=n; i++) {
cin >> vl[i] >> vc[i];
vlc[i]=vl[i];
vcc[i]=vc[i];
}
int ok;
if (n%2==0) ok=n/2;
else if (n%2==1) ok=(n+1)/2;
nth_element(vlc+1, vlc+ok, vlc+n+1);
nth_element(vcc+1, vcc+ok, vcc+n+1);
//cout << vl[ok] << " " << vc[ok];
long long suma=0;
int vlcc=vlc[ok];
int vccc=vcc[ok];
for (int i=1; i<=n; i++) {
long long diff=LLONG_MAX, ver;
int dif1, dif2;
dif1=abs(vlcc-vl[i]);
dif2=abs(vccc-vc[i]);
if (dif1+dif2<diff) diff=dif1+dif2;
dif1=abs(vlcc-dx-vl[i]);
dif2=abs(vccc-vc[i]);
if (dif1+dif2<diff) diff=dif1+dif2;
dif1=abs(vlcc-dx-vl[i]);
dif2=abs(vccc+dy-vc[i]);
if (dif1+dif2<diff) diff=dif1+dif2;
dif1=abs(vlcc-vl[i]);
dif2=abs(vccc+dy-vc[i]);
if (dif1+dif2<diff) diff=dif1+dif2;
//cout << diff << " -> " << vl[i] << " " << vc[i] << endl;
suma+=diff;
}
cout << suma;
return 0;
}