#include<bits/stdc++.h>
using namespace std;
int n,r,x,y;
double ans;
double dis(int x,int y){return sqrt(x*x+y*y);}
int main(){
cin>>n>>r;
for(int i=1;i<=n;i++){cin>>x>>y;ans=max(ans,abs(dis(x,y)-r));}
printf("%.10lf",ans);
return 0;
}
正解:二分+网络流
残余产物:二分的下限。论以上做法得50分的原因:1.出题人99.999999%想不到的乱搞。2.正解炸了,二分+网络流的套路炸了,输出下限得到安慰。3.针对大量点离原点近,少量点离原点超级远的数据有奇效,而出数据时为了卡掉一些其他搞法,后5个点中竟有3个这样的数据。造成影响:负:1.大致无。正:2.让某些扫雷玩家/蜘蛛纸牌玩家不失去奋斗目标?(绝对没有嘲讽某大佬day2ak后休闲方式的意思。)据说此题可各种乱搞?爆0蒟蒻甘拜下风。元芳,你***?