0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-09-20 04:05:24 +00:00

P3382 【模板】三分法

R43941020
This commit is contained in:
Baoshuo Ren 2020-12-20 09:07:48 +08:00 committed by Baoshuo Ren
parent 344cf78d04
commit 338fd50cca
Signed by: baoshuo
GPG Key ID: 70F90A673FB1AB68

34
problem/P3382/P3382.cpp Normal file
View File

@ -0,0 +1,34 @@
#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;
}