问题 3238 --小X的数组(array.cpp)

3238: 小X的数组(array.cpp)

时间限制: 1 Sec  内存限制: 256 MB
提交: 1  解决: 1
[提交][状态][讨论版][命题人:]

题目描述

小X有一个由n个数字组成的数组,这n个数中有一些数小X不知道是什么数字,就用0来表示。 现在小X想知道,如果那些未知的数在区间[L,R]范围内随机取值的话,数组中 个数之和的最小值和最大值分别是多少?

输入

输入共三行。 

第一行一个整数n,表示数组的长度。 

第二行输入n个整数,表示组成数组的n个数。 

第三行输入两个整数L,R,表示未知的数可以取到的数的范围。 

输出

一行两个整数,分别表示n个数之和的最小值和最大值。

样例输入

样例1
5
1 0 0 5 6
2 3
样例2
10
0 0 0 0 0 0 0 0 0 0
1 10

样例输出

样例1
16 18
样例2
10 100

提示


样例解释 



 样例一,未知的那两个数都取值为2, 使得这n个数的和最小,为16 ;都取值为3,使得n个数的和最大,为18



  样例二,这n个数都是未知的,都取值为1,使得和最小,为10;都取值为10,使得和最大,为100. 



数据范围 



 对于60%的数据,n<=10^5,ai<=10^4,1<=l<=r<=10^4 ;



 对于100%的数据,n<=10^6,ai<=10^9,1<=l<=r<=10^9 。 

来源

[提交][状态]