您的位置:首页 > 其它

HDOJ: 5595

2015-12-12 20:22 211 查看
问题描述
某一天,GTW听了数学特级教师金龙鱼的课之后,开始做数学《从自主招生到竞赛》。然而书里的题目太多了,GTW还有很多事情要忙(比如把妹),于是他把那些题目交给了你。每一道题目会给你一个函数fxax2bxcf(x)=ax​2​​+bx+c,求这个函数在整数区间lr[l,r]之间的最值。

输入描述
第一行一个整数T,表示数据组数。(T1000T≤1000)
对于每一组数据,有一行,共五个整数a,b,c,l,r。(∣a∣100∣b∣100∣c∣100∣l∣100∣r∣100lr∣a∣≤100,∣b∣≤100,∣c∣≤100,∣l∣≤100,∣r∣≤100,l≤r)

输出描述
对于每一组数据,共一行两个整数max,min,表示函数在整数区间lr[l,r]中的最大值和最小值。

输入样例
1
1 1 1 1 2

输出样例
7 3

Hint
f13f27f​1​​=3,f​2​​=7,最大值=7,最小值=3

#include <iostream>

#include <cstdio>

using namespace std;

int main()

{

int T;

int a,b,c,l,r,i;

int max,min;

cin>>T;

while (T--) {

cin>>a>>b>>c>>l>>r;//输入数据

max=(int)a*l*l+b*l+c;

min=(int)a*l*l+b*l+c;

for(i=l;i<=r;i++)//利用函数在区间上判断,不过注意下整数区间

{

if(max<(int)a*i*i+b*i+c)

max=(int)a*i*i+b*i+c;

if(min>(int)a*i*i+b*i+c)

min=(int)a*i*i+b*i+c;

}

cout<<max<<" "<<min<<endl;

}

return 0;

}


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: