比赛 |
防止颓废的小练习v0.2 |
评测结果 |
AAAAAAAAAA |
题目名称 |
导弹拦截 |
最终得分 |
100 |
用户昵称 |
NVIDIA |
运行时间 |
0.223 s |
代码语言 |
C++ |
内存使用 |
7.94 MiB |
提交时间 |
2016-10-18 10:13:56 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
struct EDGE
{
int a,b;
bool operator<(const EDGE u)
const {return a>u.a;}
} ANS[1000010];
int main()
{
int x1,x2,y1,y2,x,y,s=0,t=0,n=0;
freopen("missile2.in","r",stdin);
freopen("missile2.out","w",stdout);
cin>>x1>>y1>>x2>>y2;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>x>>y;
ANS[i].a=(x-x1)*(x-x1)+(y-y1)*(y-y1);
ANS[i].b=(x-x2)*(x-x2)+(y-y2)*(y-y2);
}
sort(ANS,ANS+n);
s=ANS[0].a;
for(int i=0;i<n;i++)
{
s=min(s,ANS[i].a+t);
t=max(t,ANS[i].b);
}
cout<<s;
return 0;
}