1 solutions

  • 0
    @ 2023-12-3 21:35:24

    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;
    }
    
    • 1

    Information

    ID
    1316
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    (None)
    # Submissions
    0
    Accepted
    0
    Uploaded By