码迷,mamicode.com
首页 > 其他好文 > 详细

WF2017 E

时间:2017-12-04 19:17:37      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:git   stdout   clu   sign   lap   int()   class   div   分享   

WF最水的题 没有之一 二分答案即可

技术分享图片
 1 #include<cstdio> 
 2 #include<cstring>
 3 #include<cmath>
 4 #include<ctime>
 5 #include<iostream>
 6 #include<algorithm>
 7 #include<queue>
 8 #include<set>
 9 #define inf (0x7fffffff)
10 #define l(a) ((a)<<1)
11 #define r(a) ((a)<<1|1)
12 #define b(a) (1<<(a))
13 #define esp (1e-8)
14 #define rep(i,a,b) for(int i=a;i<=(b);i++)
15 #define clr(a) memset(a,0,sizeof(a))
16 typedef long long ll;
17 typedef unsigned long long ull;
18 using namespace std;
19 int readint(){
20     int t=0,f=1;char c=getchar();
21     while(!isdigit(c)){
22         if(c==-) f=-1;
23         c=getchar();
24     }
25     while(isdigit(c)){
26         t=(t<<3)+(t<<1)+c-0;
27         c=getchar();
28     }
29     return t*f;
30 }
31 const int maxn=10009;
32 int n,t,a[maxn],b[maxn];
33 double L=-1e9,R=1e9;
34 int main(){
35     //freopen("#input.txt","r",stdin);
36     //freopen("#output.txt","w",stdout);
37     n=readint();t=readint();
38     rep(i,1,n){
39         a[i]=readint();b[i]=readint();
40         L=max(L,double(-b[i]+esp));
41     }
42     while(abs(L-R)>esp){
43         double t1=0,mid=(L+R)/2;    //cout<<L<<‘ ‘<<R<<‘ ‘<<mid<<‘ ‘;
44         rep(i,1,n) t1+=a[i]*1.0/(b[i]+mid);//cout<<t1<<endl;
45         if(t1>t) L=mid;
46         else R=mid;
47     }
48     printf("%.9lf",L);
49     //fclose(stdin);
50     //fclose(stdout);
51     return 0;
52 }
View Code

 

WF2017 E

标签:git   stdout   clu   sign   lap   int()   class   div   分享   

原文地址:http://www.cnblogs.com/chensiang/p/7978306.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!