题意:某一天,GTW听了数学特级教师金龙鱼的课之后,开始做数学《从自主招生到竞赛》。然而书里的题目太多了,GTW还有很多事情要忙(比如把妹),于是他把那些题目交给了你。每一道题目会给你一个函数f(x)=ax^2+bx+c,求这个函数在整数区间[l,r]之间的最值。
很多人可能会觉得这道题太简单了,是的,为什么我要写出来呢,就是因为这道题,我连续错了3次,就因为那个整数区间的最值问题,我看到这个函数,首先去讨论a=0或a>0或a<0,然后讨论对称轴。
最后就错咯。
其实他就是想喊我们遍历一下那个区间整数发在函数里面看看取得的最大值和最小值是什么而已。。。。
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int a,b,c,l,r;
scanf("%d%d%d%d%d",&a,&b,&c,&l,&r);
int cnta=a*l*l+b*l+c;
int cntb=a*l*l+b*l+c;
for(int i=l+1;i<=r;i++)
{
int sum=a*i*i+b*i+c;
cnta=max(sum,cnta);
cntb=min(sum,cntb);
}
printf("%d %d\n",cnta,cntb);
}
}