提交记录
#include<bits/stdc++.h>
#define sq(x) ((x)*(x))
#define gd(_,__,___,____) (sqrt(sq(_-__)+sq(___-____)))
using namespace std;
double ans;
const double PI=3.1415926535;
int n,x,y,x_,y_,a[7]={0,1,2,3,4,5,6},px[10],py[10];
vector< pair<int,double> > v;
double check(int t){
double tmp=0x7fffffff;
tmp=min(tmp,abs((double)px[t]-x));
tmp=min(tmp,abs((double)x_-px[t]));
tmp=min(tmp,abs((double)py[t]-y));
tmp=min(tmp,abs((double)y_-py[t]));
for(int i=0;i<v.size();i++) tmp=min(tmp,gd(px[t],py[t],px[v[i].first],py[v[i].first])-v[i].second);
return (tmp<0?0:tmp);
}
void update(){
v.clear();
for(int i=1;i<=n;i++) v.push_back({a[i],check(a[i])});
double tmp=0;
for(int i=0;i<v.size();i++) tmp+=PI*sq(v[i].second);
ans=max(ans,tmp);
}
int main(){
scanf("%d%d%d%d%d",&n,&x,&y,&x_,&y_);
for(int i=1;i<=n;i++) scanf("%d%d",&px[i],&py[i]);
do{
update();
}while(next_permutation(a+1,a+1+n));
printf("%.0lf\n",round(abs(x_-x)*abs(y_-y)-ans));
}