比赛 |
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;
}