1. 程式人生 > >Codeforces Round #499 (Div. 2) C.FLY 數學推導_逆推

Codeforces Round #499 (Div. 2) C.FLY 數學推導_逆推

我們一定要注意到油量是不滿足單調性的。 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; }