GTW likes math(BC 1001)

GTW likes math

Accepts: 472
Submissions: 2140
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 131072/131072 K (Java/Others)
问题描述
某一天,GTW听了数学特级教师金龙鱼的课之后,开始做数学《从自主招生到竞赛》。然而书里的题目太多了,GTW还有很多事情要忙(比如把妹),于是他把那些题目交给了你。每一道题目会给
你一个函数f(x)=ax2+bx+cf(x)=求这个函数在整数区间[l,r]之间的最值。
输入描述
第一行一个整数T,表示数据组数。(T≤1000T\leq 1000T1000) 对于每一组数据,有一行,共五个整数a,b,c,l,r。(∣a∣≤100,∣b∣≤100,∣c∣≤100,∣l∣≤100,∣r∣≤100,l<=r)
输出描述
对于每一组数据,共一行两个整数max,min,表示函数在整数区间[l,r][l,r][l,r]中的最大值和最小值。 
输入样例
1
1 1 1 1 2
输出样例
7 3
Hint
f1=3,f2=7f_1=3,f_2=7f1​​=3,f2​​=7,最大值=7,最小值=3
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <algorithm>
 4 using namespace std;
 5 int a,b,c,l,r;
 6 int func(int x)
 7 {
 8     return x*x*a+b*x+c;
 9 }
10 int main()
11 {
12     int T,i,j;
13     int x,y;
14     freopen("in.txt","r",stdin);
15     cin>>T;
16     while(T--)
17     {
18         scanf("%d %d %d %d %d",&a,&b,&c,&l,&r);
19         int Min=1000000,Max=-1000000;
20         if(a==0)
21         {
22             Max=max(b*r+c,b*l+c);
23             Min=min(b*r+c,b*l+c);
24         }
25         else
26         {
27             for(int i=l;i<=r;i++)
28             {
29                 int k=func(i);
30                 //cout<<k<<endl;
31                 Max=max(Max,k);
32                 Min=min(Min,k);
33             }
34         }
35         printf("%d %d\n",Max,Min);
36     }
37 }

 




转载于:https://www.cnblogs.com/a1225234/p/5041878.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值