0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-12-27 08:12:00 +00:00
OI-codes/Luogu/problem/P3382/P3382.cpp
2021-01-02 15:30:52 +08:00

35 lines
616 B
C++

#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-11;
int n;
double l, r, a[20], mid1, mid2;
double f(double x) {
double s = 0;
for (int i = n; i >= 0; i--) {
s = s * x + a[i];
}
return s;
}
int main() {
cin >> n >> l >> r;
for (int i = n; i >= 0; i--) {
cin >> a[i];
}
while (r - l >= eps) {
mid1 = l + (r - l) / 3.0;
mid2 = r - (r - l) / 3.0;
if (f(mid1) > f(mid2)) {
r = mid2;
}
else {
l = mid1;
}
}
cout << fixed << setprecision(5) << l << endl;
return 0;
}