#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蒟蒻甘拜下风。
元芳,你***?