当前位置: 首页 > news >正文

分糖果(相等分配)

题目:n种不同口味的糖果,第i种糖果的数量为a[i],现在需要把糖果分给m个人。分给每个人糖果的数量必须是相等的,并且每个人只能选择一种糖果。也就是说,可以把一种糖果分给多个人,但是一个人的糖果不能有多种。请问每个人最多能分到几个糖果?

示例

输入: n=3, m=3, a=[2,3,7]

输出: 3

解析: 3个人,3种糖果分别有237个。每个人最多分到3个糖果。

#include<iostream>
using namespace std;
int n,m;
int getCnt(int a[],int mid){//每人mid个糖果,能分的人数 if(mid==0) return n; int cnt=0;for(int i=0;i<n;i++){cnt+=a[i]/mid;}return cnt;
}int main(){cin>>n>>m;int a[n];int left=0,right=-1,mid;for(int i=0;i<n;i++){cin>>a[i];right=max(right,a[i]);}while(left<right){mid=(left+right)>>1;int cnt=getCnt(a,mid);if(cnt<m){right=mid-1;}else{left=mid;if(left+1==right){if(getCnt(a,right)>=m) cout<<right<<endl;else cout<<left<<endl;return 0;} }}cout<<left<<endl;return 0;
}

 

http://www.lryc.cn/news/484200.html

相关文章:

  • docker构建jdk11
  • 唐帕科技校园语音报警系统:通过关键词识别,阻止校园霸凌事件
  • 酒店行业数据仓库
  • A029-基于Spring Boot的物流管理系统的设计与实现
  • Python Day5 进阶语法(列表表达式/三元/断言/with-as/异常捕获/字符串方法/lambda函数
  • 一文了解Android的核心系统服务
  • Scala的Array(1)
  • [Linux] Linux信号捕捉
  • Elasticsearch的查询语法——DSL 查询
  • 开发语言中,堆区和栈区的区别
  • 驾校增加无人机培训项目可行性技术分析
  • JavaWeb后端开发知识储备1
  • ISUP协议视频平台EasyCVR视频设备轨迹回放平台智慧农业视频远程监控管理方案
  • 大数据新视界 -- 大数据大厂之 Impala 存储格式转换:从原理到实践,开启大数据性能优化星际之旅(下)(20/30)
  • 百度搜索AI探索版多线程批量生成TXT原创文章软件-可生成3种类型文章
  • ubuntu20.04 解决Pytorch默认安装CPU版本的问题
  • 名词解释-2-形状算数实验、潜在空间、3D生成模型
  • Android 使用python统计getevent按键
  • NVIDIA jetson查看资源占用情况,打印/保存资源使用情况日志
  • ssm102“魅力”繁峙宣传网站的设计与实现+vue(论文+源码)_kaic
  • 逐行加载 HTML 内容并实时显示效果:使用 wxPython 的实现
  • UE4 Cook 从UAT传递参数给UE4Editor
  • 【学习日记】notebook添加JAVA支持
  • 以太坊系地址衍生算法分层确定性生成逻辑
  • 【Unity】ScriptableObject的应用:利用配方合成新物体
  • 31DNS设置
  • 使用Docker快速部署FastAPI Web应用
  • 全面掌握Spring Boot异常处理:策略与实践
  • 【LeetCode】【算法】11. 盛最多水的容器
  • ES6代理和反射新特性,详细讲解