洛谷 P2183 巧克力
2024-08-31 12:11:37
题目描述
佳佳邀请了M个同学到家里玩。为了招待客人,她需要将巧克力分给她的好朋友们。她有N(1<=N<=5000)块巧克力,但是大小各不一样,第i块巧克力大小为为1*Xi(1<=i<=N,1<=Xi<=10000)
为了公平,她需要让每人所分得的巧克力大小一样,而且为了礼貌,巧克力是一整块地分给客人。所以她需要将巧克力分成大小为S的M块,而且使得S最大。但她很忙还要照顾她的客人,所以就将任务交给你了,你需要求出S。
输入输出格式
输入格式:
第一行,N,M
下接N行为N块巧克力的大小。
输出格式:
仅有一行,为巧克力大小S。
输入输出样例
输入样例#1: 复制
Input.txt
9 5
1
2
3
4
5
6
7
8
9
输出样例#1: 复制
Output.txt
5
思路:二分答案。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define MAXN 5010
using namespace std;
int v[MAXN];
int n,m,l,r,mid;
bool judge(){
int sum=;
for(int i=;i<=n;i++) sum+=v[i]/mid;
if(sum>=m) return true;
else return false;
}
int main(){
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
scanf("%d",&v[i]),r=max(r,v[i]);
l=;
while(l<=r){
mid=(l+r)/;
if(judge()) l=mid+;
else r=mid-;
}
cout<<l-;
}
最新文章
- 基于dubbo的分布式项目实例应用
- MySQL学习笔记四:字符集
- 开源免费的天气预报接口API以及全国所有地区代码(国家气象局提供)
- 3分钟wamp安装redis扩展超级简单
- Linux命令sed
- Excel中的隐藏函数
- 解决C#的64位打包程序,在64位机器上运行出现BadImageFormatException异常。
- Matlab的parfor并行编程
- Oracle在rownum使用结果集排序
- 11.10document对象练习
- 360路由器+花生壳实现外网访问SVN服务器
- Python 数据科学系列 の Numpy、Series 和 DataFrame介绍
- RabbitMQ 使用demo
- NW.js 简介与使用
- 【Unity3D与23种设计模式】组合模式(Composite)
- 在C++98基础上学习C++11新特性
- MySQL松散索引扫描与紧凑索引扫描
- C++ 用三元组表示法存储稀疏矩阵
- C#4并行计算
- maven 聚合工程 用spring boot 搭建 spring cloud 微服务 模块式开发项目