P1109 学生分组

题目描述

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

输入输出格式

输入格式:

第一行一个整数N,表示学生组数; n<=50

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

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

输出格式:

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

输入输出样例

输入样例#1: 复制

2
10 20
10 15

输出样例#1: 复制

5

模拟注意判断一下不满足条件的情况
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 101
using namespace std;
int n,l,r,s1,s2,s3,ans,a[N];
int read()
{int x=0,f=1; char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar();return x*f;
}
int main()
{n=read();for(int i=1;i<=n;i++)a[i]=read();l=read(),r=read();//sort(a+1,a+1+n);for(int i=1;i<=n;i++){if(a[i]<l) s1+=l-a[i];if(a[i]>r) s2+=a[i]-r;s3+=a[i];} ans=max(s1,s2);if(s3<l*n||s3>r*n) ans=-1;printf("%d",ans); return 0;
}

转载于:https://www.cnblogs.com/z360/p/7989244.html

洛谷——P1109 学生分组相关推荐

  1. 学生分组(洛谷P1109题题解,C++语言描述)

    题目要求 题目链接 分析 用贪心思想求解,不证. 首先,如果总人数小于N×LN\times{L}N×L或大于N×RN\times{R}N×R肯定没结果,应该特判输出−1-1−1. 我们要做的是,分别求 ...

  2. 洛谷P1169 树上分组背包

    题解 第一次写树上分组背包的题目. 什么是分组背包? 分组背包就是将物品进行分组每组内部只能选择一类物品. for(int i = 1;i <= N;++i){for(int j = 0;j & ...

  3. 贪心算法——洛谷(P1094)纪念品分组

    读入之后先用sort排序,然后用两个指针一起向中间走,每次选择都尽可能的让当前状态下最大的和最小的分在一组,如果不行就最大的单独分一组,这样贪心下来就是最少分的组了.证明如下: 如果最大的a[r]不与 ...

  4. 洛谷 p1757 通天之分组背包(哈希,分组背包)2021-08-12

    题目背景 直达通天路·小 A 历险记第二篇 题目描述 自 01 背包问世之后,小 A 对此深感兴趣.一天,小 A 去远游,却发现他的背包不同于 01 背包,他的物品大致可分为 k 组,每组中的物品相互 ...

  5. 洛谷刷题:火星人、奖学金、纪念品分组、统计数字、字符串的展开

    好久没写洛谷了,不优雅的代码又来啦~ [NOIP2004 普及组] 火星人 题目描述 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字 ...

  6. 【背包DP练习】洛谷 P5020货币系统 P1757通天之分组背包 P1064[NOIP2006 提高组]金明的预算方案 P5322 [BJOI2019]排兵布阵

    洛谷 P5020货币系统 https://www.luogu.com.cn/problem/P5020 思路是把货币从小到大排序,然后按顺序依次完全背包dp,每次dp检查i-1种面值的货币能不能凑出第 ...

  7. 洛谷 P5740 【深基7.例9】最厉害的学生 题解

    Hello!这是我第一次在CSDN社区发题解呢(虽然我只是一个小菜鸡,只会C++,啥也不懂)! 这一次的题解我给大家带来了洛谷 函数与结构体部分的P5740 最厉害的学生这道题. 我们可以先审一审题目 ...

  8. 洛谷:P4516 [JSOI2018] 潜入行动(树形dp、树上分组背包统计方案数)

    潜入行动 题意: 在树上每个点可以放置监控设备,监控该点周围的点(不包括该点),问刚好放置 k 个监控设备监控使得整棵树所有点都被监控的方案数是多少. 思路: 显然是个树形dp,k个监控自然联想分组背 ...

  9. 洛谷——P1056 排座椅

    题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳. 同 ...

最新文章

  1. Android Go初探
  2. Linux(Windows)下如何改变网卡的LinkSpeed工作模式
  3. 一加7充电_夜话丨一加7超级快充明天见
  4. [云炬创业管理笔记]第6章制定创业行动测试4
  5. String.valueOf() 和 toString的区别
  6. 学习Enroll例程
  7. 吴军《谷歌面试题:倒置英文句子》
  8. EASYUI- EASYUI左移右移 GRID中值
  9. IntelliJ Idea学习笔记007---IntelliJ Idea2018 1.6破解
  10. 第一章节 初始类和对象
  11. Android2.1--如何在android模拟器上安装与删除.APK文件
  12. [Unity3D]深度相机 Depth Camera
  13. Javascript特效:长图滚动
  14. Ubuntu11设置VGA分辨率
  15. 老赵谈IL(2):CLR内部有太多太多IL看不到的东西,包括您平时必须了解的那些...
  16. 免校准的电量计量芯片_请问电能计量芯片CS5463增益如何校准?
  17. 985 材料专业研究生年薪 20 多万也不少了吧,为什么还有那么多人劝退,转行能挣多少钱?
  18. mysql中身份证号判断男女人数
  19. 大家都买用阿里云服务器干什么用?
  20. 苹果设备的微信数据收集

热门文章

  1. 19.CSS background
  2. Linux软件安装及基本概念
  3. netbios 和smb
  4. 如何使用Alert 组件
  5. 诗与远方:无题(七十)- 小熊熬夜记
  6. 没有理想的人不会伤心,不想做程序猿,没目标,不知道自己还能干嘛呢
  7. gRPC创建Java RPC服务
  8. Ranger-Sqoop2插件实现详解
  9. python去重复记录_python如何处理重复值数据?
  10. 在静态页面中使用Scss(windows)