- 导弹拦截
- 2017-11-08 21:30:26 @
#include<bits/stdc++.h>
using namespace std;
int x,y,x2,y2,n,a[100010],n1[100010],m1[100010],m,np;
int v,v1,minv,v2;
bool cmp(int b1,int b2)
{
return (b1>b2);
}
int main()
{
cin>>x>>y>>x2>>y2;
cin>>np;
for (int i=1;i<=np;i++)
{
scanf("%d%d",&n,&m);
n1[i]=n; m1[i]=m;
a[i]=abs(n-x)*abs(n-x)+abs(m-y)*abs(m-y);
}
stable_sort(a+1,a+n+1,cmp);
minv=a[1];
for (int i=2;i<=n;i++)
{
v2=max(v2,abs(n1[i-1]-x2)*abs(n1[i-1]-x2)+abs(m1[i-1]-y2)*abs(m1[i-2]-y2));
v1=a[i];
if ((v1+v2)<minv) minv=v1+v2;
}
v2=0;
for (int i=n;i>=2;i--)
{
v2=max(v2,abs(n1[i-1]-x2)*abs(n1[i-1]-x2)+abs(m1[i-1]-y2)*abs(m1[i-2]-y2));
v1=a[i];
if ((v1+v2)<minv) minv=v1+v2;
}
cout<<minv;
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 1810
- 难度
- 6
- 分类
- (无)
- 标签
- 递交数
- 1606
- 已通过
- 443
- 通过率
- 28%
- 被复制
- 15
- 上传者