Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <fstream>
- #include<algorithm>
- using namespace std;
- const long double MIN = 0.0000000000, MAX = 1e9;
- int n, m;
- int a[1000], b[1000];
- bool func(long double x) {
- for (int i = 0; i < n; i++) {
- x -= (long double) (x + m) / a[i];
- if (x <= 0.0)
- return false;
- x -= (long double) (x + m) / b[i];
- }
- return true;
- }
- int main() {
- cin >> n;
- cin >> m;
- for (int i = 0; i < n; i++) {
- cin >> a[i];
- }
- for (int i = 0; i < n; i++) {
- cin >> b[i];
- }
- long double l = MIN, r = MAX;
- while (r - l > 1) {
- long double m = (r + l) / 2;
- if (func(m))
- r = m;
- else
- l = m;
- }
- cout << r;
- /*system("pause");*/
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement