#include <bits/stdc++.h> #define int long long #define PII pair<int,int> using namespace std; signed main() { double n,p;cin>>n>>p; vector<double>a(n),b(n); double res=0; for(int i=0;i<n;i++) { cin>>a[i]>>b[i]; res+=a[i]; } if(p>=res) { cout<<-1<<endl; return 0; } auto check=[&](double mid) { double power=mid*p; double sum=0; for(int i=0;i<n;i++) { if(a[i]*mid>b[i])sum+=a[i]*mid-b[i]; } return sum<=power; //l=mid,mid变大,需要的能量也会变大; //那么我们什么情况下需要l=mid呢, //当然是需要的能量<产生的能量; }; double l=0,r=1e10;//题上最多情况下可以的时间 while(r-l>1e-5) { double mid=(l+r)/2; if(check(mid))l=mid; else r=mid; } cout<<l<<endl; }
P3743 kotori的设备
最新推荐文章于 2024-05-20 20:08:58 发布