#P5139. z小f的函数

z小f的函数

题目背景

zzff热爱数学。

题目描述

由于zzff要复习NOIpNOIp,而且他认为觉得数学作业太简单了,于是把数学作业交给了你。

题目如下:

给定二次函数y=ax2+bx+c(a0)y=ax^{2}+bx+c (a \neq 0),求函数的最大(小)值;

zzff当然不喜欢看见做这么简单的题目啦,于是他决定给函数进行如下操作:

操作 11:给定系数kk,将函数向上平移kk位,(kk<00则向下平移k-k位)

操作22:给定系数kk,将函数向右平移kk位,(kk<00则向左平移k-k位)

操作33:给定系数k1,k2k_1,k_2,将函数关于点(k1,k2)(k_1,k_2)进行对称变换

操作44:给定系数k1,k2k_1,k_2,求函数在闭区间[k1,k2][k_1,k_2]上的最小值和最大值

操作55:给定系数u,v,wu,v,w,求出二次函数yy与二次函数y2=ux2+vx+wy_2=ux^{2}+vx+w是否有交点。

由于zzff需要,你还要输出最终的二次函数yy此时的最大值(最小值)。

输入格式

第一行一个正整数TT,表示数学作业的题目数(即数据组数)

接下来TT组数据,对于每一组数据:

第一行三个数a,b,ca,b,c,表示二次函数的系数a,b,ca,b,c

第二行一个正整数nn,表示操作的数量。

接下来nn行,每一行都有一个整数pp,表示操作的编号,接下来的数即操作的内容(见题目描述 )

由于zzff太可爱了,所以数据保证合法。

输出格式

对于每一个操作44,输出两个小数,分别表示区间的最小值与最大值(保留两位小数);

对于每一个操作55,输出一个整数,其中0表示没有交点,2表示有交点;

每组数据操作完成后,输出最终的二次函数yy此时的最大值(最小值)(保留两位小数)。

1
1 0 0
4
1 3
1 -4
4 1 2
5 -1 0 -3

0.00 3.00
0
-1.00

1
-4 10 100
15
4 0 78
5 -4 -95 -97
1 -79
4 12 54
4 -60 11
1 83
4 68 80
2 -63
1 71
1 80
3 12 67
1 60
1 41
3 35 -13
4 6 26

-23456.00 106.25
2
-11103.00 -435.00
-14979.00 27.25
-24696.00 -17712.00
-6972.00 -1892.00
0.25

提示

对于30%的数据,n<=100n<=100,且没有操作33

对于60%的数据,n<=1000n<=1000

对于100%的数据,T<=10,n<=10000T<=10,n<=10000

数据保证$a \neq 0,u \neq 0,a \neq u,1<=p<=5,-100<=a,b,c,k1,k2,k,u,v,w<=100$。