http://icpc.upc.edu.cn/problem.php?cid=1678&pid=2
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
struct str{
int s1,s2;
bool operator<(const str &str1)const{
return s1<str1.s1;
}
}a[1000005];
int i,x1,x2,yyy,y2,n,xx,yy,ans=1000000000,r;
int main()
{
scanf("%d%d%d%d",&x1,&yyy,&x2,&y2);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d%d",&xx,&yy);
a[i].s1=(xx-x1)*(xx-x1)+(yy-yyy)*(yy-yyy);
a[i].s2=(xx-x2)*(xx-x2)+(yy-y2)*(yy-y2);
}
sort(a+1,a+n+1);
for(i=n;i;i--){
r=max(a[i+1].s2,r);
ans=min(ans,a[i].s1+r);
}
printf("%d\n",ans);
}
1136

被折叠的 条评论
为什么被折叠?



