首页 > 试题广场 >

分石子

[编程题]分石子
  • 热度指数:1370 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
牛牛有n堆石子堆,第i堆一共有a_i个石子。

牛牛可以对任意一堆石子数量大于1的石子堆进行分裂操作,分裂成两堆新的石子数量都大于等于1的石子堆。

现在牛牛需要通过分裂得到m堆石子,他想知道这m堆石子的最小值最大可以是多少?
示例1

输入

3,5,[3,5,6]

输出

2

说明

把5分裂成2和3
把6分裂成2和4
得到五堆石子[3,2,3,2,4]

备注:


第一个参数n代表石子堆的个数
第二个参数m表示需要得到的石子堆数。
第三个参数vector a代表每堆石子堆的石子个数

这道题你会答吗?花几分钟告诉大家答案吧!

问题信息

难度:
0条回答 5116浏览

热门推荐

通过挑战的用户

查看代码