f一关求条
  • 板块学术版
  • 楼主xu_zhihao
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/12/21 22:17
  • 上次更新2024/12/22 10:46:01
查看原帖
f一关求条
1063855
xu_zhihao楼主2024/12/21 22:17
#include<bits/stdc++.h>
using namespace std;
vector<int>v[300010];
int x[200010],h[200010];
double k[200010];
int n;
bool check(double p){
	for(int i=1;i<=n;i++){
		k[i]=(h[i]-p)/x[i];
	}
	for(int i=n-1;i>=1;i--){
		//printf("%.5f %.5f\n",k[i],k[i+1]);
		if(k[i]>k[i+1]){
			return false;
		}
	}
	//cout<<endl;
	return true;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>x[i]>>h[i];
	}
	double l=0,r=1e9,best=-1;
	int t=1000;
	while(t--){
		double mid=(l+r)/2;
		if(check(mid)){
			r=mid;
			best=mid;
		}
		else{
			l=mid;
		}
	}
	printf("%.20f",best);
}
2024/12/21 22:17
加载中...