/ Vijos / 题库 /

分班

分班

时间限制:1秒  内存限制:256M


【问题描述】

  学校有 \(N\) 个班,初始时每班的人数为 \(A_i\),然后给出一个上界 \(R\) 和下界 \(L(L≤R)\)。
  每次你可以在某一班中选出一个学生把他安排到另一班中。
  问最少要操作多少次才可以让 \(N\) 个班学生的人数大于等于 \(L\),且小于等于 \(R\)。

【输入格式】

  第一行一个整数 \(N\),表示班级数目。
  第二行有 \(N\) 个整数,第 \(i\) 个整数表示第i组的学生人数 \(A_i\)。
  第三行两个整数 \(L\) 和 \(R(L≤R)\),表示下界和上界。

【输出格式】

  一个整数,表示最少操作次数,如果无论操作多少次都不能满足题目的条件则输出-1。

【输入输出样例1】

 Input

2
10 20
10 15

 Output

5

【样例1解释】

  从2班调5个人到1班,使得两个班的人数均为15。

【输入输出样例2】

 Input

5
10 30 20 50 40
25 35

 Output

20

【样例2解释】

  从4班调15个人到1班,再从5班调5个人到3班,使得5个班人数分别为:25,30,25,35,35。

【数据限制】

  \(100\%\) 的数据满足:\(1 ≤ N ≤ 10000000\),\(1 ≤ X_i,R,L ≤ 10^9\) 。

【来源】

  Mr.he

信息

ID
1342
难度
2
分类
模拟 | 贪心 点击显示
标签
(无)
递交数
0
已通过
0
通过率
?
被复制
3
上传者