只有10分,哪个好心人帮我看看
#include<bits/stdc++.h>
using namespace std;
int n,xx,yy;
int mp[2010][2010],x[1010],y[1010],ux[1010],uy[1010],fx[100010],fy[100010],minn=1e9;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>x[i]>>y[i];
ux[i]=x[i];
uy[i]=y[i];
}
sort(ux+1,ux+n+1);
sort(uy+1,uy+n+1);
for(int i=1;i<=n;i++){
if(fx[ux[i]]==0)xx++,fx[ux[i]]=xx;
if(fy[uy[i]]==0)yy++,fy[uy[i]]=yy;
}
for(int i=1;i<=n;i++)mp[fx[x[i]]*2-1][fy[y[i]]*2-1]=1;
for(int i=1;i<=n*2-1;i++){
for(int j=1;j<=n*2-1;j++){
mp[i][j]=mp[i][j]+mp[i-1][j]+mp[i][j-1]-mp[i-1][j-1];
}
}
for(int i=2;i<n*2;i+=2){
for(int j=2;j<n*2;j+=2){
minn=min(minn,max(max(mp[i][j],mp[i][n]-mp[i][j]),max(mp[n][j]-mp[i][j],mp[n][n]-mp[n][j]-mp[i][n]+mp[i][j])));
}
}
cout<<minn<<endl;
return 0;
}