记录编号 529356 评测结果 AAAAAAAAAA
题目名称 [NOIP 2010PJ]导弹拦截 最终得分 100
用户昵称 GravatarLGLJ 是否通过 通过
代码语言 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(){;}