1 条题解

  • 0
    @ 2026-3-28 14:37:05

    C++ :

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    
    int main()
    {
    	double a[110];
    	int n;
    	double X;
    	//freopen("bet.in","r",stdin);
    	//freopen("bet.out","w",stdout);
    	while(scanf("%d",&n) != EOF) {
    		for(int i = 1; i <= n; i ++)
    			scanf("%lf",&a[i]);
    		scanf("%lf",&X);
    
    		double lt = 0,rt = 1000000, mid, ans = 0;
    		double eps = 1e-8;
    		while(lt + eps <= rt) {
    			mid = (lt + rt) / 2;
    			double sum = 0;
    			for(int i = 1; i <= n; i ++) {
    				sum += mid / a[i];
    			}
    			if(sum <= X) {
    				ans = mid;
    				lt = mid + eps;
    			}
    			else rt = mid - eps;
    		}
    
    		printf("%.2lf\n",ans);
    	}
    	return 0;
    }
    

    信息

    ID
    1838
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    (无)
    递交数
    0
    已通过
    0
    上传者