#O3210. LQ.中级组.编程题.十四届.STEMA.04.分糖果

LQ.中级组.编程题.十四届.STEMA.04.分糖果

题目描述

现有 N 罐糖果,且已知每罐糖果的初始数量。现给出两个数值L和 R( L ≤ R ),需要把每罐糖果的数量调整为: L ≤ 任意一罐糖果的数量 ≤ R 。

调整的方式是每次从其中一罐糖果中拿出 1 块放到其他糖果罐中。请你计算出最少调整几次才能使每罐糖果的数量都在 L 到 R 范围之间,如果不能将每罐糖果都调整到 L 到 R 范围之间则输出 -1 。

例如: N = 2 , 2 罐糖果的初始数量为 3 和 8 , L = 3 ,R = 6 ,通过调整使得:3 ≤ 任意一罐糖果的数量 ≤ 6,调整方式如下:

第一次从初始数量为8的罐中拿1块放到初始数量为3的罐中,调整后为( 4 , 7 );

第二次从数量 7 的罐中拿 1 块放到数量为4的罐中,调整后为 ( 5 , 6 );

故最少调整 2 次。

输入格式

第一行输入一个正整数 N ( N < 30 ),表示糖果的罐数

第二行输入 N 个正整数( 1 ≤ 正整数 ≤ 100 ),表示每罐糖果的初始数量,每个正整数之间以一个空格隔开

第三行输入两个正整数 L ,R ( 1 ≤ L ≤ R ≤ 100 ),表示每罐糖果的数量所要调整的范围,两个正整数之间以一个空格隔开

输出格式

输出一个整数,表示最少调整几次才可以使 N 罐糖果数量都在 L 和 R 范围之间,如果不能将 N 罐糖果调整到 L 到 R 范围之间则输出 -1

样例

2
3 8
3 6
2