社区讨论

蒟蒻求救!!

CF492B Vanya and Lanterns参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@lo97c8hw
此快照首次捕获于
2023/10/28 06:45
2 年前
此快照最后确认于
2023/10/28 06:45
2 年前
查看原帖
在CF上提交,总是被卡第9个点。 (傻口二分)
是有什么特殊情况吗(特意加了精度,还是WA)
CPP
#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);
}

回复

0 条回复,欢迎继续交流。

正在加载回复...