比赛 2010年noip 评测结果 AAAAAAAAAA
题目名称 导弹拦截 最终得分 100
用户昵称 梦那边的美好ET 运行时间 0.303 s
代码语言 C++ 内存使用 4.68 MiB
提交时间 2018-05-17 20:58:16
显示代码纯文本
#include<iostream>  
#include<cstdio>
#include<cmath>
#include<cctype>  
#include<cstring>  
#include<algorithm>  
using namespace std; 
int n,x1,x2,y3,y2,rb=0;
int mn=9999999;
struct data{
    int x,y,s1,s2;
}a[100005];
bool hs(data a,data b)
{
    return a.s1<b.s1;
}
int main()
{ 
    freopen("missile2.out","w",stdout);      
	freopen("missile2.in","r",stdin);        
    cin>>x1>>y3>>x2>>y2;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
	    cin>>a[i].x>>a[i].y;
        a[i].s1=(a[i].x-x1)*(a[i].x-x1)+(a[i].y-y3)*(a[i].y-y3);
        a[i].s2=(a[i].x-x2)*(a[i].x-x2)+(a[i].y-y2)*(a[i].y-y2);
	}
	sort(a+1,a+1+n,hs);
    for(int i=n;i;i--)
    {
        rb=max(a[i+1].s2,rb);
        mn=min(mn,a[i].s1+rb);
    }
    cout<<mn;	
    return 0;  
}