Advertisement
Derga

Untitled

Aug 5th, 2020
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.94 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <cstdint>
  4. #include <cstdio>
  5. #include <math.h>
  6.  
  7. using namespace std;
  8.  
  9. int main() {
  10.     int V_field;
  11.     int V_forest;
  12.     cin >> V_field >> V_forest;
  13.  
  14.     long double border;
  15.     cin >> border;
  16.  
  17.     long double L = 0;
  18.     long double R = 1;
  19.  
  20.     while (R - L > 0.000001) {
  21.         long double a = (L * 2 + R) / 3;
  22.         long double b = (L + R * 2) / 3;
  23.         long double a_time = sqrt(a * a + (1 - border) * (1 - border)) / V_field +
  24.                              sqrt((1 - a) * (1 - a) + border * border) / V_forest;
  25.         long double b_time = sqrt(b * b + (1 - border) * (1 - border)) / V_field +
  26.                              sqrt((1 - b) * (1 - b) + border * border) / V_forest;
  27.         if (a_time < b_time) {
  28.             R = b;
  29.         }
  30.         else {
  31.             L = a;
  32.         }
  33.     }
  34.  
  35.     cout << fixed << setprecision(13) << (L + R) / 2 << endl;
  36.  
  37.     return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement