l,r均为正数,那么要求最大或最小的话,最大肯定都是取r,最小肯定都是取l。所以只要统计有多少个0,再乘l和r,加上剩下的非0数字后,即可得到最大和最小值。 注意不要爆int。
AC
小美拿到了一个由正整数组成的数组,但其中有一些元素是未知的(用0来表示)。现在小美想知道,如果那些未知的元素在区间[l,r]范围内随机取值的话,数组所有元素之和的最小值和最大值分别是多少?共有q次润问。
第一行整数n和q,表示数组的长度和询问的次数
第二行输入n个整数ai,其中如果输入的ai为0,那么说明ai是未知的 接下来的q行,每行输入两个正整数l,r,代表一次询问。
1≤n,q≤105
0≤ai≤109
l≤l≤r≤109
输出q行,每行输出两个正整数,代表所有元素之和的最小值和最大值.
输入输出示例仅供调试,后台判题数据一般不包含示例
输入
3 2
3 0 2
1 1
1 2
输出
6 6
6 7
说明
第二次询问中,最小为1+2+3=6,最大为2+2+3=7