小美拿到了一个由正整数组成的数组,但其中有一些元素是未知的(用 0 来表示)。
现在小美想知道,如果那些未知的元素在区间[l, r]范围内随机取值的话,数组所有元素之和的最小值和最大值分别是多少?
共有q次询问。
第一行输入两个正整数n, q,代表数组大小和询问次数。
第二行输入n个整数ai,其中如果输入ai的为 0,那么说明ai是未知的。
接下来的q行,每行输入两个正整数l, r,代表一次询问。
1 <= n, q <= 10^5 0 <= ai <= 10^9 1 <= l <= r <= 10^9
1 <= n, q <= 10^5
0 <= ai <= 10^9
1 <= l <= r <= 10^9
输出q行,每行输出两个正整数,代表所有元素之和的最小值和最大值。
3 2 1 0 3 1 2 4 4
5 6 8 8
只有第二个元素是未知的。
第一次询问,数组最小的和是 1+1=3=5,最大的和是 1+2+3=6。
第二次询问,显然数组的元素和必然为 8。
时间限制: c/c++: 1s; java: 5s; 其他语言: 3s.
选择合适的字体大小
选择合适的主题