Guest User

Untitled

a guest
Jul 11th, 2016
363
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.89 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. #define icin(x) scanf("%d",&x)
  4. #define pb push_back
  5. #define LL long long
  6. #define F first
  7. #define S second
  8. #define eps ((double)1e-14)
  9. #define maxn 109
  10. #define maxm 100009
  11.  
  12. using namespace std;
  13.  
  14. vector<double> vec;
  15. double f(double r)
  16. {
  17.   double ans = 0;
  18.   int cur = 1;
  19.   for(int i=0;i<vec.size();i++)
  20.   {
  21.     ans += (vec[i])/pow((1+r),cur);
  22.     cur++;
  23.   }
  24.   return ans;
  25. }
  26.  
  27. int main()
  28. {
  29.   int t;
  30.   icin(t);
  31.   for(int tc=1;tc<=t;tc++)
  32.   {
  33.     int m;
  34.     icin(m);
  35.     int s;
  36.     cin >> s;
  37.     vec.clear();
  38.     for(int i=0;i<m;i++)
  39.     {
  40.       int x;
  41.       icin(x);
  42.       vec.pb((double)x);
  43.     }
  44.     double lo=-1,hi=1;
  45.     double k;
  46.     for(int i=1;i<=5000;i++)
  47.     {
  48.  
  49.        k = (lo+hi)/2;
  50.      // cout << k << " " ;
  51.       if(f(k)>s)
  52.         lo=k;
  53.       else
  54.         hi=k;
  55.     }
  56.  
  57.     printf("Case #%d: %.20lf\n",tc,k);
  58.   }
  59.  
  60. }
Add Comment
Please, Sign In to add comment