197.小美的数组询问

内存限制:256 MB 时间限制:1.000 S

题目描述

小美拿到了一个由正整数组成的数组,但其中有一些元素是未知的(用 0 来表示)。

现在小美想知道,如果那些未知的元素在区间[l, r]范围内随机取值的话,数组所有元素之和的最小值和最大值分别是多少?

共有q次询问。

输入

第一行输入两个正整数n, q,代表数组大小和询问次数。

第二行输入n个整数ai,其中如果输入ai的为 0,那么说明ai是未知的。

接下来的q行,每行输入两个正整数l, r,代表一次询问。

1 <= n, q <= 10^5

0 <= a<= 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.