码迷,mamicode.com
首页 > 其他好文 > 详细

GTW likes math(BC 1001)

时间:2015-12-12 23:10:18      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:

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=7f?1??=3,f?2??=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 }

 




GTW likes math(BC 1001)

标签:

原文地址:http://www.cnblogs.com/a1225234/p/5041878.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!