POJ1723
#include <iostream>
#include<algorithm>
using namespace std;
void qsort(int arr[],int sta,int end)
{
if(sta<end)
{
int x,i=sta,j=end;
x=arr[i];
while(i<j)
{
while(arr[j]>x&&i<j)
{
j--;
}
if(i<j)
{
arr[i++]=arr[j];
}
while(arr[i]<=x&&i<j)
{
i++;
}
if(i<j)
{
arr[j--]=arr[i];
}
}
arr[i]=x;
qsort(arr,sta,i-1);
qsort(arr,i+1,end);
}
}
int main()
{
int n,i,sig,x[10005],y[10005],tol;
cin>>n;
for(i=0;i<n;i++)
{
cin>>x[i]>>y[i];
}
qsort(x,0,n-1);
qsort(y,0,n-1);
sig=(n-1)/2;
tol=0;
for(i=0;i<n;i++)
{
tol+=abs(y[i]-y[sig]);
}
for(i=0;i<n;i++)
{
x[i]-=i;
}
qsort(x,0,n-1);
for(i=0;i<n;i++)
{
tol+=abs(x[sig]-x[i]);
}
cout<<tol<<endl;
return 0;
}

浙公网安备 33010602011771号