Codeforces Round #499 (Div. 2) C.FLY 數學推導_逆推
阿新 • • 發佈:2018-12-13
我們一定要注意到油量是不滿足單調性的。 Code:
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn = 1000 + 4;
int a[maxn], b[maxn];
int main()
{
int n, m;
scanf("%d%d",&n,&m);
for(int i = 1;i <= n; ++i)
{
scanf("%d",&a[i]);
if (a[i] <= 1) { printf("-1"); return 0; }
}
for(int i = 1;i <= n; ++i)
{
scanf("%d",&b[i]);
if(b[i] <= 1) { printf("-1"); return 0; }
}
double ans = (double) m / (b[1] - 1);
for(int i = n; i >= 1;--i)
{
ans = (double)(a[i] * ans + m) / ( a[i] - 1);
if(i != 1) ans = (b[i] * ans + m) /(b[i] - 1);
}
printf("%.10lf",ans);
return 0;
}