社区讨论
样例输出0.500000?
P3382三分参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mismc2gj
- 此快照首次捕获于
- 2025/12/05 16:44 3 个月前
- 此快照最后确认于
- 2025/12/05 21:16 3 个月前
为什么
CPP#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+7;
const int INF=0x3f3f3f3f;
int T;
int n;double l,r;
ll a[N];
double f(double x){
double ret=0;
for(int i=n+1;i>0;i--) ret=ret*x+a[i];
return ret;
}
int main()
{
T=1;
while(T--)
{
cin>>n>>l>>r;
for(int i=1;i<=n+1;i++)
{
cin>>a[i];
}
double m1,m2;
while(abs(r-l)>1e-9)
{
m1=l+(r-l)/3;
m2=r-(r-l)/3;
if(f(m1)<f(m2))
{
r=m2;
}
else
{
l=m1;
}
}
printf("%.5f\n",(l+r)/2);
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...