机器人正在玩一个古老的基于DOS的游戏。

游戏中有N+1座建筑——从0到N编号,从左到右排列。

编号为0的建筑高度为0个单位,编号为 i 的建筑高度为H(i)个单位。

起初,机器人在编号为0的建筑处。

每一步,它跳到下一个(右边)建筑。

假设机器人在第k个建筑,且它现在的能量值是E,下一步它将跳到第k+1个建筑。

如果H(k+1)>E,那么机器人就失去H(k+1)-E的能量值,否则它将得到E-H(k+1)的能量值。

游戏目标是到达第N个建筑,在这个过程中能量值不能为负数个单位。

现在的问题是机器人至少以多少能量值开始游戏,才可以保证成功完成游戏?

输入格式
第一行输入整数N。

第二行是N个空格分隔的整数,H(1),H(2),…,H(N)代表建筑物的高度。

输出格式
输出一个整数,表示所需的最少单位的初始能量值上取整后的结果。

数据范围
1≤N,H(i)≤10^5,

输入样例1:
5
3 4 3 2 4
输出样例1:
4
输入样例2:
3
4 4 4
输出样例2:
4
输入样例3:
3
1 6 4
输出样例3:
3

代码如下:

#include <iostream>
using namespace std;
const int N = 1e5;
int w[N];
int n;
bool check(int mid)
{for (int i = 0;i<n;i++){mid = 2*mid-w[i];if (mid > 1e5) return true;if (mid < 0) return false;}return true;
}int main()
{cin>>n;for (int i = 0;i<n;i++) cin>>w[i];int l = 1,r = 1e5;while(l < r){int mid = l+r>>1;if (check(mid)){r = mid;}else{l = mid+1;}}cout<<r<<endl;
}

AcWing 730. 机器人跳跃问题相关推荐

  1. AcWing 730. 机器人跳跃问题 (二分)

    AcWing 730. 机器人跳跃问题 思路: 由题意可以推出从当前位置跳到下一个位置时,下一个位置的能量值一定为: 2∗E当前−H下一位置2*E_{当前}-H_{下一位置}2∗E当前​−H下一位置​ ...

  2. 【今日头条2019,笔试题】机器人跳跃问题

    机器人跳跃问题 机器人正在玩一个古老的基于 DOS 的游戏. 游戏中有 N + 1 N+1 N+1 座建筑--从 0 0 0 到 N N N 编号,从左到右排列. 编号为 0 0 0 的建筑高度为 0 ...

  3. 今日头条2019年笔试题 机器人跳跃问题

    机器人跳跃问题 机器人正在玩一个古老的基于 DOS 的游戏. 游戏中有 N+1 座建筑--从 0 到 NN编号,从左到右排列. 编号为 0 的建筑高度为 0 个单位,编号为 i 的建筑高度为 H(i) ...

  4. 机器人跳跃问题(字节跳动笔试题)

    机器人正在玩一个古老的基于DOS的游戏. 游戏中有N+1座建筑--从0到N编号,从左到右排列. 编号为0的建筑高度为0个单位,编号为 i 的建筑高度为H(i)个单位. 起初,机器人在编号为0的建筑处. ...

  5. 四足机器人跳跃轨迹优化

    matlab自带优化工具和casadi对相同参考轨迹进行优化的结果 废话不多说,直接上图,规划时间0.5s 分16步计算,期望终点位置[1,0,0.2]' 由于时间较短,且给定的参考轨迹为简单的线性插 ...

  6. 平面单腿机器人跳跃控制研究——后续内容

    重新编辑公式比较繁琐,后续内容保存在文件中. 转载于:https://www.cnblogs.com/SHSF/p/4536144.html

  7. Acwing 3812.机器人走迷宫【全排列】

    1.题目描述 题目链接:点击这里 2.解决思路 只需要考虑,不管是什么序列,可选方案最多24种(4!种)所以我们只需要用next_permutation搞出0123的全排列,并让它们每一个值与序列中不 ...

  8. 蓝桥杯C++ AB组辅导课 第二讲 二分与前缀和 Acwing

    例题 AcWing 789. 数的范围 给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询. 对于每个查询,返回一个元素 k 的起始位置和终止位置(位置从 0 开始计数). 如果数组中不存 ...

  9. 蓝桥杯C++ AB组辅导课

    整理的算法模板合集: ACM模板 今天在AcWing闲逛白嫖到了yxc老师的蓝桥杯C++ AB组辅导课的题单,正好快要蓝桥杯了,我准备每天花半个小时刷5道这个题单里的水题,练一练,不然到时候我各种花里 ...

最新文章

  1. PHP协程:并发 shell_exec
  2. 构建工具Gradle
  3. Linux下使用mail命令发送邮件
  4. Lync与Exchange 2013 UM集成配置
  5. 自己动手写一个简单的MVC框架(第二版)
  6. FastDFS服务重启
  7. UDP(socket)接和数据案例封装成C++代码
  8. 命令行刷新Magento索引管理
  9. 第4章 变量、作用域和内存问题
  10. 如何进行个人知识管理和提高自己能力?
  11. 大数据_Hbase_面试题0001
  12. Rabbitmq学习笔记008---AmqpException: No method found for class java.lang.String
  13. notepad++,vim驼峰命名与下划线的互相转换
  14. 开源开放的知识图谱工具和数据生态
  15. 推荐系统/计算广告相关资料整理
  16. Python使用scrapy框架编写自动爬虫爬取京东商品信息并写入数据库
  17. informix软件
  18. python使用opencv进行身份证信息识别_基于opencv和tesseract实现身份证扫描件的身份证号码提取试验...
  19. 向日葵远程软件连接Ubuntu无法显示桌面之解决方案
  20. 宽带远端服务器无响应什么意思,宽带远程服务器无响应

热门文章

  1. C和指针之IO流和缓冲区
  2. C和C++之用extern “C“实现它们之间的互调
  3. C++之invalid initialization of non-const reference of type ‘int’ from an rvalue of type ‘int’
  4. Android之ActivityManager与Proxy模式的运用
  5. 【C语言简单说】十三:变量的生命周期
  6. 史上最让数学家无奈的规定!背后真相让人不敢相信,可是没有人能证明对错.........
  7. 超震撼!你没见过的24张震撼照片
  8. 这个地球仪太惊艳了,陪孩子畅聊天文地理。
  9. 机器学习都需要有哪些数学知识?
  10. java属于面相_[Java教程]面相对象