#Z1025. [程序设计] 学生分组

[程序设计] 学生分组

有 N 组学生,给出初始时每组中的学生个数,再给出每组学生人数的上界 R 和下界L(L≤R),每次你可以在某组中选出一个学生把他安排到另外一组中,问最少要多少次才可以让 N 组学生的人数都在[L,R] 中。

代码框中已经有了初始化代码,其中需要添加代码的地方已经使用注释标出,其余部分均已锁定不可更改。

输入格式

第一行一个整数 N (1≤N≤50),表示学生组数;

第二行 N 个整数,表示每组的学生个数 ai;

第三行两个整数 L,R,表示下界和上界。

1≤ai ,L,R≤1000。

输出格式

一个整数,表示最少的交换次数,如果不能满足题目条件输出 -1。

输出时每行末尾的多余空格,不影响答案正确性

要求使用「文件输入输出」的方式解题,输入文件为 group.in,输出文件为 group.out

样例输入

3 
1 5 10 
4 7

样例输出

3