5595

GTW likes math

Accepts: 250
Submissions: 624
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 131072/131072 K (Java/Others)
问题描述
某一天,GTW听了数学特级教师金龙鱼的课之后,开始做数学《从自主招生到竞赛》。然而书里的题目太多了,
GTW还有很多事情要忙(比如把妹),于是他把那些题目交给了你。每一道题目会给你一个函数f(x)=ax2+bx+cf(x)=ax^2+bx+cf(x)=ax2​​+bx+c,求这个函数在整数区间[l,r][l,r][l,r]之间的最值。
输入描述
第一行一个整数T,表示数据组数。(T≤1000Tleq 1000T1000)
对于每一组数据,有一行,共五个整数a,b,c,l,r。(∣a∣≤100,∣b∣≤100,∣c∣≤100,∣l∣≤100,∣r∣≤100,l≤r|a|leq 100,|b|leq 100,
|c|leq 100,|l|leq 100,|r|leq 100,lleq ra100,b100,c100,l100,r100,lr)
输出描述
对于每一组数据,共一行两个整数max,min,表示函数在整数区间[l,r][l,r][l,r]中的最大值和最小值。
输入样例
1
1 1 1 1 2
输出样例
7 3
Hint
f1=3,f2=7,f3=13f_1=3,f_2=7,f_3=13f
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
    int T,temp,x,max,min;
    int a,b,c,l,r;
    cin>>T;
    while(T--)
    {
        cin>>a>>b>>c>>l>>r;
        x=l;
        temp=a*x*x+b*x+c;
        max=temp;
        min=temp;
        for(x=l+1;x<=r;x++)
        {
            temp=a*x*x+b*x+c;
            if(max<temp) max=temp;
            if(min>temp) min=temp;
        }
        cout<<max<<" "<<min<<endl;
    }
    return 0;
}



1​​=3,f2​​=7,f3​​=13,最大值=13=13=13,最小值=3=3=3
原文地址:https://www.cnblogs.com/tt-t/p/5041683.html