喵哈哈村的狼人杀大战(3)

喵哈哈村最近热衷于玩一个叫做狼人杀的游戏!

昊昊同学今天他抽到的是平民的身份,按照他的一贯玩法,他喜欢挂机,就什么事儿都不干。

于是他早早的就被推出去了。

现在他很无聊,于是他想了一道题来给自己打发时间。

定义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; }
原文地址:https://www.cnblogs.com/gfdybz/p/6522619.html