本蒟蒻写了一个三分的代码,但为什么不对呢
#include<bits/stdc++.h>
#define MAXN 100005
using namespace std;
int N[MAXN];
int n;
double l, r;
double cl(double x){
double as=0;
for(int i = n; i >=1 ; i --){
int t1=i;double t = 1.0;
while(--t1 ){
t *= x;
}
t*=N[i];
as+=t;
}
return as;
}
int main(){
cin >> n;
cin >> l >>r;
for(int i = n; i >= 1; i --){
cin >> N[i];
}
while (r - l >= 1e-10){
double lmid = l + (r - l) / 3;
double rmid = r - (r - l) / 3;
double x1 = cl(lmid), x2 = cl(rmid);
if(x1 >= x2 ) r = rmid;
else l = lmid;
}
printf("%.10lf", l);
}