IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 机器人跳跃问题 -> 正文阅读

[C++知识库]机器人跳跃问题

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

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

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

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

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

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

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

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

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

输入格式

第一行输入整数?NN。

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

输出格式

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

数据范围

1≤N,H(i)≤1051≤N,H(i)≤105,

输入样例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 +10;
int a[N];
int _max =0;
int n;

bool check(int e)//只要中间有一个大于_max;就成立
{
    for(int i =1;i <=n;i ++)
    {
        e =2 *e -a[i];//无论是第一种情况还是第二种都是一样的能量变化
        //动能重力势能相互转化;所以每一次的动,无论是上是下,都是单调递增
        //故用二分
    if(e >=_max) return true;
    if (e <0) return false ;//规律可得只要找到最大高度就为true
    }

}
int main ()
{
     cin>>n;
    for(int i =1;i <=n;i ++)
    {
        cin>>a[i];
        if(_max<a[i]) 
        _max =a[i];
    }
    int l =0 ,r = _max;
    while (r>l)
    {

        int mid =l +r>>1;
        if(check(mid)) r =mid; //二分
        else l =mid +1;
    }
    cout<<l;//r 也行
    return 0;
}
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-09 20:30:34  更:2022-02-09 20:33:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:01:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码