记录编号 |
529356 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[NOIP 2010PJ]导弹拦截 |
最终得分 |
100 |
用户昵称 |
LGLJ |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.097 s |
提交时间 |
2019-04-03 08:20:04 |
内存使用 |
1.17 MiB |
显示代码纯文本
#include <iostream>
#include <cstring>
#include <cmath>
#include <cstdio>
#include <algorithm>
#include <cctype>
#define I inline
#define R register
using namespace std;
int n;
pair<int,int> s[2];
pair<int,int> num[100010];
int ans=0x7f7f7f7f,z=0;
I int read()
{
int x=0;
char ch=0;
bool w=true;
while(!isdigit(ch)){if(ch=='-')w=false;ch=getchar();}
while(isdigit(ch)){x=(x<<3)+(x<<1)+(ch^48);ch=getchar();}
return w?x:-x;
}
I int MAIN()
{
freopen ("missile2.in","r",stdin);
freopen ("missile2.out","w",stdout);
s[0].first=read(),s[0].second=read(),s[1].first=read(),s[1].second=read();
n=read();
for(R int i=1,x,y;i<=n;++i)
{
x=read(),y=read();
num[i].first=(s[0].first-x)*(s[0].first-x)+(s[0].second-y)*(s[0].second-y);
num[i].second=(s[1].first-x)*(s[1].first-x)+(s[1].second-y)*(s[1].second-y);
}
sort(num+1,num+n+1);
ans=num[n].first;
for(R int i=n;i;--i)
{
z=max(z,num[i].second);
ans=min(ans,z+num[i-1].first);
}
cout<<ans;
return 0;
}
int lglj=MAIN();
int main(){;}