1,3,4,15,19WA,求调
查看原帖
1,3,4,15,19WA,求调
1387999
bluearchiveazusa楼主2025/1/22 23:27
#include<iostream>
using namespace std;
int n;
double p;
double a[200000],b[200000];
double l = 0,r = 1e10;
double sum = 0;
int check(double ans){
	int q = p * ans;
	sum = 0;
	for(int i = 0;i < n;i++){
		if(a[i] * ans <= b[i]){
			continue;
		}
		sum+=(a[i] * ans - b[i]);
	}
	return sum <= q;
}
int main(){
	cin>>n>>p;
	for(int i = 0;i < n;i++){
		cin>>a[i]>>b[i];
		sum+=a[i];
	}
	if(sum<=p){
		cout<<-1.000000<<endl;
		return 0;
	}
	while(r-l>1e-6){
		double mid = (l + r) / 2;
		if(check(mid)){
			l = mid;
		}
		else{
			r = mid;
		} 
	}
	cout<<l<<endl;
	return 0;
}
2025/1/22 23:27
加载中...