求调三分
查看原帖
求调三分
1261563
Manchester_楼主2024/9/6 19:41
#include<bits/stdc++.h>
using namespace std;
#define ll long long int 
#define endl '\n'
#define pii pair<ll,ll>
#define diff 1e-7
ll _;
ll n;
double l, r;
ll a[20];
double f(double x) 
{
    double ans = 0, k = 1;
    for (int i = n; i >= 0; i--)
    {
        ans += k * a[i];
        k *= x;
    }
    return ans;
}

void solve()
{
    cin >> n >> l >> r;
    for (int i = 0; i <= n; i++)
    {
        cin >> a[i];
    }
    while (r - l >= diff)
    {
        double m1 = l + (r - l) / 3.0;
        double m2 = r - (r - l) / 3.0;
        if (f(m1) < f(m2))
        {
            l = m1;
        }
        else r = m2;
    }
    double t = (l + r) / 2.0;
    printf("%.6lf", t);
}
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0), cout.tie(0);
    _ = 1;
    while (_--)
    {
        solve();
    }
    return 0;
}
2024/9/6 19:41
加载中...