Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<bits/stdc++.h>using namespace std;struct Point{int x,y;}p[2000];map<pair<int,int>,int>ma;int main(){int n;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d%d",&p[i].x,&p[i].y);ma[make_pair(p[i].x,p[i].y)]=1;}long long ans=1e15+7;for(int i=0;i<n;i++){for(int j=i+1;j<n;j++){if(p[i].y==p[j].y)continue;if(p[i].x==p[j].x)continue;if(ma[make_pair(p[i].x,p[j].y)]&&ma[make_pair(p[j].x,p[i].y)]){ans=min(ans,(long long)abs(p[i].x-p[j].x)*(long long)abs(p[i].y-p[j].y));}}}if(ans>=1e15+7)ans=-1;cout<<ans<<endl;