GTW likes math(BC 1001)
2024-10-19 06:23:04
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 1000T≤1000)
对于每一组数据,有一行,共五个整数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
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int a,b,c,l,r;
int func(int x)
{
return x*x*a+b*x+c;
}
int main()
{
int T,i,j;
int x,y;
freopen("in.txt","r",stdin);
cin>>T;
while(T--)
{
scanf("%d %d %d %d %d",&a,&b,&c,&l,&r);
int Min=,Max=-;
if(a==)
{
Max=max(b*r+c,b*l+c);
Min=min(b*r+c,b*l+c);
}
else
{
for(int i=l;i<=r;i++)
{
int k=func(i);
//cout<<k<<endl;
Max=max(Max,k);
Min=min(Min,k);
}
}
printf("%d %d\n",Max,Min);
}
}
最新文章
- javax.validation.ConstraintViolationException---Hibernate后台实体校验
- [转]Java连接各种数据库的方法
- Charles初体验
- Windows 一键安装OpenSSL
- thinkphp,ajax返回结果
- DWZ前端框架使用问题记录
- 《Python 学习手册4th》 第十二章 if测试和语法规则
- Laravel框架——Session操作
- UVA 1605 Building for UN
- Golang版protobuf编译
- Socket通信中AF_INET 和 AF_UNIX域的区别
- 面试(二)---synchronized
- iOS开发 支付之银联支付集成
- 074、如何安装和配置Rex-Ray?(2019-04-19 周五)
- img标签和 background 属性的使用分析
- 用react + redux + router写一个todo
- day11 作用域
- Windows2003 内核级进程隐藏、侦测技术
- QString和char字符串数组之间的转换 (转)
- 带你从零学ReactNative开发跨平台App开发-[react native 仿boss直聘](十三)