比赛 2010年noip 评测结果 RRRRRRRRRR
题目名称 导弹拦截 最终得分 0
用户昵称 -1 运行时间 0.003 s
代码语言 C++ 内存使用 3.92 MiB
提交时间 2018-05-17 21:09:20
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#define maxn 100010
using namespace std;
int n,s;
struct node
{
    int ss1;
    int ss2;
};
node aa[maxn];
int x11,y11,x22,y22;
int jisuan(int x1,int y1,int x2,int y2)
{
    return (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
}
int cmp(const node &x,const node &y)
{
    if(x.ss1>y.ss1)return 1;
    return 0;
}
int main()
{
	freopen("missile2","r",stdin);
	freopen("missile2","w",stdout);
    int i;
    int a,b;
    cin>>x11>>y11>>x22>>y22>>n;
    for(i=1;i<=n;i++)
      {
          cin>>a>>b;
          int s1=jisuan(a,b,x11,y11);
          int s2=jisuan(a,b,x22,y22);
          aa[i].ss1=s1;
          aa[i].ss2=s2;
      }
    sort(aa+1,aa+1+n,cmp);
    int tot=999999999,mm=0;
    for(i=1;i<=n;i++)
      {
          tot=min(tot,aa[i].ss1+mm);
          mm=max(mm,aa[i].ss2);
      }
    cout<<tot;
}