喵哈哈村最近热衷于玩一个叫做狼人杀的游戏!
昊昊同学今天他抽到的是平民的身份,按照他的一贯玩法,他喜欢挂机,就什么事儿都不干。
于是他早早的就被推出去了。
现在他很无聊,于是他想了一道题来给自己打发时间。
定义f(x)=abs(ax^3+bx^2+cx+d),abs为绝对值符号。
给你a,b,c,d,l,r。
他想知道[l,r]这个范围内,f(x)的最大值。
题目包含多组测试数据。
第一行六个整数,a,b,c,d,l,r。
满足-10<=a,b,c,d<=10,-100<=l<=r<=100
对于每组测试诗句,输出最大值,需要保留两位小数。
1 2 3 4 5 6
310.00
题解
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<vector>
#include<queue>
#include<cmath>
#include<string>
#define mem(a,b) memset(a,b,sizeof(a))
#define LL __int64
#define MAX 100010
#include<iostream>
using namespace std;
double a ,b ,c ,d ,l ,r;
double cal(double x)
{
return fabs(a * x * x *x + b * x * x + c * x + d);
}
int main()
{
while(cin>>a>>b>>c>>d>>l>>r)
{
double re = l;
double ans = cal(l);
while(r - re >= 0.01)
{
ans = max(ans,cal(re));
re += 0.01;
}
ans = max(ans,cal(r));
printf("%.2f
",ans);
}
return 0;
}