因为题目要求的栏杆是平行x轴与y轴的
如果平行的话可以直接取枚举被卖掉的牛,然后去找最大最小xy值即可
否则就要难的多了要用凸包去写(我也不会)
#include<iostream>
#include<algorithm>
using namespace std;
const int N=5e4+10;
typedef pair<int,int >PII;
PII hp[N];
int xx[N],yy[N];
int n,res=2e9;
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
int a,b;
cin>>a>>b;
hp[i]={a,b};
xx[i]=a,yy[i]=b;
}
sort(xx,xx+n);
sort(yy,yy+n);
for(int i=0;i<n;i++)
{
int x1,x2,y1,y2;
if(hp[i].first==xx[0])x1=xx[1];
else x1=xx[0];
if(hp[i].first==xx[n-1])x2=xx[n-2];
else x2=xx[n-1];
if(hp[i].second==yy[0])y1=yy[1];
else y1=yy[0];
if(hp[i].second==yy[n-1])y2=yy[n-2];
else y2=yy[n-1];
res=min(res,(y2-y1)*(x2-x1));
}
cout<<res;
return 0;
}