描述
喵哈哈村最近热衷于玩一个叫做狼人杀的游戏!
昊昊同学今天他抽到的是平民的身份,按照他的一贯玩法,他喜欢挂机,就什么事儿都不干。
于是他早早的就被推出去了。
现在他很无聊,于是他想了一道题来给自己打发时间。
定义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
1 2 3 4 5 6
样例输出1
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\n",ans); } return 0; }