题目

Description

Santo刚刚与房东打赌赢得了一间在New Clondike 的大客厅。今天,他来到这个大客厅欣赏他的奖品。房东摆出了一行瓶子在酒吧上。瓶子里都装有不同体积的酒。令Santo高兴的是,瓶子中的酒都有不同的味道。房东说道:“你可以喝尽可能多的酒,但是一旦打开酒盖你就必须把它喝完,喝完一瓶后把它放回原处。还有一件最重要的事,你必须从左至有依次喝,并且不能连续超过三瓶,不然会给你带来坏运气。”现在可怜的Santo站在酒吧前努力的想着,他到底应该喝哪几瓶才能使喝的酒最多呢?请帮助他找出他应该喝的酒瓶号,因为思考让他感到不安。

Input

第一行一个整数\(N\),有\(N\)个酒瓶。\(N\leq700\)接下有N行,第\(I+1\)行的数字代表酒瓶\(I\)中酒的体积。

Output

一个数字,喝的酒的最大总体积。遵守以上规则,使得三个连续瓶子中至少一个瓶子是满的。

Sample Input

6
6
10
13
9
8
1

Sample Output

33

题解

DP从头开始学系列
\(dp_i\)表示前\(i\)瓶能喝的最大体积, 转移方程为

\[ dp_i = \max(dp_{i - 1}, dp_{i - 2} + wine_i, dp_{i - 3} + wine_i + wine_{i - 1}) \]

#include <cstdio>
#include <algorithm>
int dp[710];
int n, wine[710];
int main(int argc, char const *argv[]) {scanf("%d", &n);for (register int i(1); i <= n; ++i) {scanf("%d", &wine[i]);}dp[1] = wine[1], dp[2] = wine[1] + wine[2];for (register int i(3); i <= n; ++i) {dp[i] = std::max(dp[i - 1], std::max(dp[i - 2] + wine[i], dp[i - 3] + wine[i] + wine[i - 1]));}printf("%d\n", dp[n]);return 0;
}

转载于:https://www.cnblogs.com/forth/p/9772623.html

入门OJ 1203: 酒鬼相关推荐

  1. 2019.6.7 一场搜索专题的考试【including 洛谷·血色先锋队,入门OJ·兴建高铁,珠光宝气阁

    这次分数还好.但全是搜索题还没上200就有点打击人了--[本狸才177QAQ 血色先锋队/血色敢死队 传送门:洛谷P1332 & 入门OJ P2259 Description 邪魔天国领主复活 ...

  2. begin.lydsy 入门OJ题库:1104:纯粹合数

    1104: 纯粹素数 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 258  Solved: 91 [Submit][Status][Web Boar ...

  3. begin.lydsy 入门OJ题库:1101、1102:那些四位数、那些四位数之二

    1101: 那些四位数 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 205  Solved: 160 [Submit][Status][Web Bo ...

  4. begin.lydsy 入门OJ题库:1104:那些N位数

    1103: 那些N位数 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 231  Solved: 97 [Submit][Status][Web Boa ...

  5. 【bzoj 入门OJ】[NOIP 热身赛]Problem C: 星球联盟(并查集)

    Problem C: 星球联盟 Time Limit: 4 Sec  Memory Limit: 256 MB Submit: 57  Solved: 15 [Submit][Status][Web ...

  6. [Usaco2010 Hol]cowpol 奶牛政坛(入门oj Problem 5274)

    第三次发题解哈.有什么表述错误的请见谅(可以提出). 题目源地址:https://www.lydsy.com/JudgeOnline/problem.php?id=1776 文章目录 题目描述 输入 ...

  7. [usaco2010 Oct]Soda Machine (入门oj Problem 6195 )

    鬼知道我有多蒟蒻,第五次发题解了 题目原地址点此进入 呜呜呜~今天在CSDN上看了好多大佬神犇的OI退役文,百感交集,故写篇题解振奋自己. 文章目录 题目描述 输入 输出 样例输入 样例输出3 题目大 ...

  8. 问题 J: [入门OJ]求和 为 C(初中生请多多指教)

    时间限制: 1 Sec  内存限制: 256 MB 题目描述 楠楠在网上刷题,感觉第一题:求两数的和(A+B Problem)太无聊了,于是增加了一题:求和为C的Problem,难倒了一群小朋友,哈哈 ...

  9. 问题 A: [入门OJ]买水果(初中生请多多指教)

    在学校电脑搞的 时间限制: 1 Sec  内存限制: 256 MB 题目描述 萌萌和瞳瞳各拿 N 元去买苹果和西瓜,已知每个苹果的价格是 a. 每个西瓜的价格是 b. \n 萌萌希望 N 元买苹果全部 ...

  10. 入门OJ 3793: [Noip模拟题]剪草 (DP)

    题目 Description 有N棵小草,编号0至N-1.奶牛Bessie不喜欢小草,所以Bessie要用剪刀剪草,目标是使得这N棵小草的高度总和不超过H.在第0时刻,第i棵小草的高度是h[i],接下 ...

最新文章

  1. ewebeditor后台拿shell
  2. 命令行验证apk签名
  3. python精确计时_PYTHON在WINDOWS下高精度计时的体会
  4. 陈丽琳:如何以大数据助力商场运营
  5. 单体应用微服务改造实践
  6. 循环上传导致oom_java之OOM排查
  7. 编译原理词法分析实验
  8. Python 字符串、列表、字典 操作方法大全 正则re
  9. matlab中的end
  10. mysql更改安装路径命令_如何修改mysql的安装路径
  11. python可以代替plc吗_python 读写西门子PLC 包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC...
  12. 图解通信原理与案例分析-14:“大哥大”与1G模拟蜂窝移动通信案例--频率调制与频分多址FDMA
  13. [深入研究4G/5G/6G专题-58]: - L3信令控制-7-关键概念和常见问题之信道、UE 上下文, RRC连接,SRB0/1/2, DRB Bear。
  14. Godaddy域名与腾讯云服务器ip绑定,使用域名访问
  15. Counting swaps
  16. python二十行代码教你批量采集超高清 jpg
  17. 智能指针shared_ptr引用计数工作原理
  18. 大数据高级开发工程师——Spark学习笔记(7)
  19. Intellij IDEA里的md5验证
  20. POI获取文本单元格的数字变成科学计数法的处理方法

热门文章

  1. centos7阿里yum源报问题
  2. 《Java 核心技术 卷 Ⅱ:高级特性》(原书第8版) 已经上市了
  3. HDFS的命令行操作
  4. SpringBoot +esapi 实现防止xss攻击
  5. 酷狗音乐api接口php,【教程分享】酷狗音乐API接口大全(40+个)
  6. html跳转函数,javascript函数里如何实现页面跳转?
  7. STM8L052低功耗模式
  8. Java物联网中间件_物联网中间件技术——Niagara介绍.pdf
  9. 详解Java的交互式编程环境:jshell
  10. 牛逼的电商运营为什么不自己开店铺要去打工?(知乎精选)