题目描述

蕊蕊买了n罐糖,每罐糖中的数量不一,现在蕊蕊想吃掉至少m颗糖。蕊蕊想换着口味吃,因此蕊蕊将这些糖排成一排,一轮一轮吃。每一轮蕊蕊从每一罐中拿出一颗糖吃掉,若吃到某罐糖时这罐糖已经空了,那么蕊蕊就会跳过这罐糖。请问蕊蕊至少要吃多少轮才能吃够m颗糖?


  • 输入

第一行输入两个整数n(0

由于输入数据很多,如果你使用了cin 或 cout ,请在main函数的第一行加上 std::ios::sync_with_stdio(false); 关闭同步加快数据读入。

  • 输出

输出一个整数,表示蕊蕊至少要吃多少轮才能吃够m颗糖。

  • 输入样例

10 16

2 7 4 5 4 4 1 3 3 10

  • 输出样例

2


1e15显然需要long long了。每一次蕊蕊取糖的规则是唯一确定的,因此每一轮吃的也是固定的。

因此解实际上是固定边界的,二分查找这个最小的解即可,使用简陋的代码即可AC:

#include <iostream>
using namespace std;
int C[1000000];
int main()
{std::ios::sync_with_stdio(false);long long N, n = 0, i = 0, j = 0, m = 0, count = 0;long long  f, max, min;long long M;cin >> N;cin >> M;max = M;while (n < N){cin >> C[n];n++;}min = M/N+1;f = (max + min) / 2;n = 0;while (n < N){if (C[n] >= f)count += f;elsecount += C[n];n++;}while (count > M || M - count > N){//二分查找最小边界解,这个解可能差一点不可行if (count < M)min = f + 1;elsemax = f - 1;f = (max + min) / 2;count = 0;n = 0;while (n < N){if (C[n] >= f)count += f;elsecount += C[n];n++;}}//如果二分的解还不可行,再多吃一轮while (count < M){f++;count = 0;n = 0;while (n < N){if (C[n] >= f)count += f;elsecount += C[n];n++;}}cout<<f;
}

蕊蕊吃糖2870 C语言相关推荐

  1. 【牛客 - 302哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛(低年级)】小乐乐吃糖豆 (fIb博弈)

    题干: 小乐乐是一个比较喜欢吃糖豆的小孩子,小乐乐的哥哥大乐乐也同样爱吃糖豆. 作为一个小孩子,他们永远觉得谁吃掉了最后一个糖豆,谁吃的糖豆最多. 为了公平起见小乐乐与大乐乐商量吃糖豆的规则如下: 1 ...

  2. 拼多多2018校招—小熊吃糖

    题目 有n只小熊,他们有着各不相同的战斗力.每次他们吃糖时,会按照战斗力来排,战斗力高的小熊拥有优先选择权.前面的小熊吃饱了,后面的小熊才能吃.每只小熊有一个饥饿值,每次进食的时候,小熊们会选择最大的 ...

  3. 2018拼多多校招笔试贪心编程题小熊吃糖详解

    题目描述 有n只小熊,他们有着各不相同的战斗力.每次他们吃糖时,会按照战斗力来排,战斗力高的小熊拥有优先选择权.前面的小熊吃饱了,后面的小熊才能吃.每只小熊有一个饥饿值,每次进食的时候,小熊们会选择最 ...

  4. sincerit 小乐乐吃糖豆

    链接:https://ac.nowcoder.com/acm/contest/302/G 来源:牛客网 小乐乐是一个比较喜欢吃糖豆的小孩子,小乐乐的哥哥大乐乐也同样爱吃糖豆. 作为一个小孩子,他们永远 ...

  5. 快快吃豆游戏c语言代码,C语言快快吃豆游戏.doc

    C语言快快吃豆游戏 C语言--快快吃豆游戏 使用说明 运行程序时,首先进入到是游戏开始界面,根据提示,按键,决定是否进入游戏.运行效果如图7.1所示. 图7.1 进入游戏界面 按两下任意键,进入到快快 ...

  6. 保健食品“零食化”后,这届年轻人“吃糖”养生

    最近,小艺迷上了吃糖.据她所述,她吃的不是普通的糖,而是含GABA成分.有利于助眠的糖. 笔者调研后发现,如小艺这样热衷于"吃糖"的年轻人已越来越多,且大多数人看中的是此类糖果带来 ...

  7. OSChina 周日乱弹 ——老公 老公 我想吃糖!晚上带你吃

    2019独角兽企业重金招聘Python工程师标准>>> @刘松林 : 周末加班,欧耶. 加班的时候偷懒听听音乐吧. 手机党的少年,想听歌,使劲儿戳(这里) 图来自<鲸鱼马戏团& ...

  8. 得了近视要多补充维生素少吃糖

    近视的形成与饮食有关系,多数近视患者的血钙偏低,维生素A缺乏:多数青少年近视患者的血清蛋白偏低,血钙和血色素也偏低.得了近视后,要多补充维生素A.B.族和钙.铬.锌等微量元素,少吃糖果和高糖食品.糖吃 ...

  9. 小鸡吃米java_小班语言活动小鸡吃米教案

    小班语言活动小鸡吃米教案 作为一名默默奉献的教育工作者,时常需要用到教案,教案是备课向课堂教学转化的关节点.快来参考教案是怎么写的吧!以下是小编为大家收集的小班语言活动小鸡吃米教案,欢迎阅读,希望大家 ...

最新文章

  1. Cocos2d-x Touch事件处理机制
  2. 65. Leetcode 153. 寻找旋转排序数组中的最小值 (二分查找-局部有序)
  3. 医学论文论题该如何下手
  4. 将 Visual Studio 的代码片段导出到 VS Code
  5. 实时检索系统Zoie实现分析
  6. 自定义tt文本模板实现MySql指数据库中生成实体类
  7. CommonsChunkPlugin相关
  8. go兼容java_兼容dubbo的微服务框架dubbogo;dubbo的完整go语言实现
  9. Num37 spring 事务 ssh整合
  10. [洛谷1533] 可怜的狗狗
  11. Roberts算子边缘检测原理及实现
  12. 一文带你了解华为私有云
  13. 概念讲解:大地水准面 | 地球椭球体 | 参考椭球体 | 大地基准面 | 地图投影
  14. 104道精选iOS面试题PDF
  15. html模板怎样做seo,SEO如何做分享模板做外链
  16. 达摩院python教程视频_达摩院官方刚刚发布了最新的Python教程,整套427集系统学习视频...
  17. 七大黄金定律与产品设计
  18. 最速降线求解的数学模型
  19. java 主线程与子线程的执行顺序
  20. python中os模块用法

热门文章

  1. Swift - 使用EventKit操作提醒事项(2、新增、修改、删除提醒)
  2. (Sentinel-2A、Sentinel-2B)2017年全年中国地区数据
  3. python做值班表_如何用Python 实现自动排班
  4. 最简单的python语言程序设计_编程中最简单的语言Python,这样学或许更容易
  5. 老码农眼中的CRM 图解
  6. 关于证书,这里有你想知道的一切
  7. mac微信备份位置macos手机微信备份的文件迁移走
  8. 大规模太空资源开采,在未来十年将成为现实
  9. 3dmax的计算机配置,3dMax2018系统最低要求电脑配置
  10. 写一个框架的详细步骤