样例全过,但是0pts
查看原帖
样例全过,但是0pts
1110117
Jason__Wang楼主2024/9/14 21:11
#include<bits/stdc++.h>
using namespace std;
#define int long long
const double Inf=1e-7;
inline int read() {
	int x=0,y=1;
	char c=getchar();
	while(c<'0'||c>'9') {
		if(c=='-')
			y=-1;
		c=getchar();
	}
	while(c<='9'&&c>='0') {
		x=x*10+c-'0',c=getchar();
	}
	return x*y;
}
void write(int x) {
	if(x<0) putchar('-');
	if(x>9) write(x / 10);
	putchar(x%10+'0');
}
double mid1,mid2;
int n;
const int maxl=30;
double x[maxl];
double f(double p){
	double sum=0;
	for(int i=0;i<=n;i++){
		sum+=x[i]*pow(p,i);
	}
	return sum;
}
signed main(){
	n=read();
	double l,r;
	cin>>l>>r;
	for(int i=n;i>=0;i--){
		x[i]=read();
	}
	while(r-l>Inf){
		mid1=l+(r-l)/3.0;
		mid2=r-(r-l)/3.0;
		double f1=f(mid1);
		double f2=f(mid2);
		if(f1<f2){
			l=mid1;
		}
		else{
			r=mid2;
		}
	}
	cout<<l;
	return 0;
}
2024/9/14 21:11
加载中...