蒟蒻求救!!
查看原帖
蒟蒻求救!!
104745
YOU法克楼主2022/3/12 16:56

在CF上提交,总是被卡第9个点。 (傻口二分)

是有什么特殊情况吗(特意加了精度,还是WA)

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

const int N = 1010;
const double esp = 1e-9;
int n;
double l,a[N];

bool check(double len){
	double now=0;
	for(int i=1;i<=n;i++){
		if(a[i]-len<=now){
			now=a[i]+len;
		}
		else return false;
	}
	if(now>=len)return true;
	else return false;
}

int main(){
	cin>>n>>l;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	sort(a+1,a+n+1);
	double left=0,right=l;
	while(right-left>esp){
		double mid=(left+right)/2;
		if(check(mid))right=mid;
		else left=mid;
	}
	printf("%.10lf",left);
}
2022/3/12 16:56
加载中...