#T1133. 分糖果

分糖果

题目背景

第十四届蓝桥STEMA青少年组2022年10月C++组第4题

题目描述

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

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

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

第一次从初始数量为 8 的罐中拿1块放到初始数量为 3 的罐中,调整后为(4,7);
第二次从数量7的罐中拿1块放到数量为4的罐中,调整后为(5,6);
故最少调整2次。

输入格式

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

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

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

输出格式

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

样例 #1

样例输入 #1

2
3 8
3 6

样例输出 #1

2