题目链接
用贪心思想求解,不证。
首先,如果总人数小于 N × L N\times{L} N×L或大于 N × R N\times{R} N×R肯定没结果,应该特判输出 − 1 -1 −1。
我们要做的是,分别求出人数不足 L L L的组的人数与 L L L的差的绝对值、人数超过 R R R的组的人数与 R R R的差的绝对值。
随后,二者取最大值即为所求!
AC代码#include
#include
using namespace std;
int nums[50];
int main() {
int n, l, r, sum = 0, less = 0, more = 0;
cin >> n;
for (int i = 0; i > nums[i];
sum += nums[i];
}
cin >> l >> r;
if (sum > n*r || sum
关注
打赏
- 【Linux】Ubuntu20.04安装和卸载MySQL8
- 【Linux】Ubuntu 20.04 报错 curl: (23) Failure writing output to destination 的解决方法
- 【Java】JUnit 4.13.2 警告 ‘assertEquals(double, double)‘ is deprecated 的解决方法
- 【JavaScript】处理 @parcel/transformer-js: Browser scripts cannot have imports or exports.
- 【Node.js】Windows环境安装配置NVM和Node.js
- 【Python】处理TypeError: Plain typing.NoReturn is not valid as type argument
- 【Python】Matplotlib可视化50例
- 【C语言】C语言修改MySQL数据库
- 【Java】从默认包导入类和对象报错的解决方法
- 【Java】panel.getGraphics()报错空指针异常的解决方法