题目名称 510. 分班
输入输出 groupa.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2010-11-18加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:96, 提交:211, 通过率:45.5%
GravatarTA 100 0.000 s 0.00 MiB Pascal
GravatarTA 100 0.000 s 0.00 MiB Pascal
Gravatar甘罗 100 0.000 s 0.00 MiB Pascal
Gravatar天空非翔 100 0.000 s 0.00 MiB Pascal
Gravatar苏轼 100 0.000 s 0.00 MiB Pascal
Gravatar 100 0.000 s 0.00 MiB Pascal
Gravatarサイタマ 100 0.000 s 0.00 MiB C++
GravatarPine 100 0.000 s 0.00 MiB C++
Gravatar夜未央 100 0.000 s 0.00 MiB C++
Gravatar乐未殇 100 0.000 s 0.00 MiB C++
本题关联比赛
20101118
练习赛
关于 分班 的近10条评论(全部评论)
回复 @JustWB :
wb巨佬太强啦
GravatarKK爱搞机
2018-06-30 22:21 5楼
GravatarJustWB
2017-10-25 20:17 4楼
没有那么复杂。。不用一个个函数模拟几行就够了。虽然时间有点慢。
GravatarNVIDIA
2015-08-04 17:00 3楼
原来只需要做到2点:
1、判断是否输出-1.即判断(sum{a[i]}<l*n) or (sum{a[i]}>r*n)(1<=i<=n).
2、如可以完成,则输出max(sum{a[i]-r}(a[i]>r),sum{l-a[i]}(a[i]<l)).
24...这么简单做了我一下午。看来还需努力啊。
GravatarTA
2013-11-10 17:59 2楼
あああ!为什么我的程序超时了5组!
GravatarMakazeu
2011-10-23 19:35 1楼

510. 分班

☆   输入文件:groupa.in   输出文件:groupa.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

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

【输入格式】

第一行一个整数N,表示学生组数;
第二行N个整数,表示每组的学生个数;
第三行两个整数 L,R,表示下界和上界

【输出格式】

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

【输入样例】
2
10 20
10 15

【输出样例】
5

【数据规模】
n<=50   L<=R   其他数在[1,1000000]中