BNUOJ29065鸣人的查克拉
鸣人的查克拉
pid=29065#" class="submitprob ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" style="margin:0px 0.1em 0px -1px; padding:0px; text-decoration:none; font-family:'Trebuchet MS',Helvetica,Arial,sans-serif; font-size:1.1em; border:1px solid rgb(204,204,204); background-color:rgb(238,238,238); font-weight:bold; color:rgb(68,68,68); display:inline-block; position:relative; zoom:1; overflow:visible">Submit
Status Statistics Discusspid=29066" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" style="margin:0px 0.1em 0px -1px; padding:0px; text-decoration:none; font-family:'Trebuchet MS',Helvetica,Arial,sans-serif; font-size:1.1em; border:1px solid rgb(204,204,204); background-color:rgb(238,238,238); font-weight:bold; color:rgb(68,68,68); display:inline-block; position:relative; zoom:1; overflow:visible">Next
+
-
None Graph Theory
2-SAT Articulation/Bridge/Biconnected Component
Cycles/Topological Sorting/Strongly Connected Component
Shortest Path
Bellman Ford Dijkstra/Floyd Warshall
Euler Trail/Circuit
Heavy-Light Decomposition
Minimum Spanning Tree
Stable Marriage Problem
Trees
Directed Minimum Spanning Tree
Flow/Matching Graph Matching
Bipartite Matching
Hopcroft–Karp Bipartite Matching
Weighted Bipartite Matching/Hungarian Algorithm
Flow
Max Flow/Min Cut
Min Cost Max Flow
DFS-like Backtracking with Pruning/Branch and Bound
Basic Recursion
IDA* Search Parsing/Grammar
Breadth First Search/Depth First Search
Advanced Search Techniques
Binary Search/Bisection
Ternary Search
Geometry
Basic Geometry Computational Geometry
Convex Hull
Pick's Theorem Game Theory
Green Hackenbush/Colon Principle/Fusion Principle
Nim
Sprague-Grundy Number
Matrix Gaussian Elimination
Matrix Exponentiation
Data Structures
Basic Data Structures
Binary Indexed Tree
Binary Search Tree
Hashing Orthogonal Range Search
Range Minimum Query/Lowest Common Ancestor
Segment Tree/Interval Tree
Trie Tree
Sorting Disjoint Set
String
Aho Corasick Knuth-Morris-Pratt
Suffix Array/Suffix Tree
Math
Basic Math Big Integer Arithmetic
Number Theory
Chinese Remainder Theorem
Extended Euclid
Inclusion/Exclusion
Modular Arithmetic
Combinatorics Group Theory/Burnside's lemma
Counting
Probability/Expected Value
Others Tricky
Hardest Unusual
Brute Force
Implementation Constructive Algorithms
Two Pointer
Bitmask Beginner
Discrete Logarithm/Shank's Baby-step Giant-step Algorithm
Greedy
Divide and Conquer
Dynamic Programming
Tag it!
《火影忍者》中,在忍者们使用忍术的时候,须要一定的查克拉(能够看成是一种体力值)。在战斗前,大家都希望提高自己的查克拉。
鸣人发明了一种忍术,能够在短时间内提高查克拉。
在使用忍术前,鸣人须要做一个仪式,这个仪式决定之后每一个时刻的一个查克拉值。这些值的使用规则是:假设在某个时刻发动这个忍术。鸣人须要先消耗该时刻的查克拉值;在某个时候结束这个忍术。鸣人能获得该时刻的查克拉值(忍术必须先发动才干结束)。
当然,假设某时刻鸣人具有的查克拉值少于该时刻的查克拉值。那么鸣人是不能发动该忍术的。
因为鸣人对这个忍术还不能非常好地控制,所以他最多仅仅能发动两次该忍术。而且两次忍术不能同一时候发动,也就是说必须结束一次忍术才干发动下一次(第一次结束时能够马上发动第二次)。
如今仪式已经做完了。鸣人知道了自己的查克拉的初始值,以及各个时刻的查克拉值。假设他最多能够发动两次该忍术(他也能够选择发动一次或者不发动)。那么他最多能达到的查克拉值是多少?
Input
输入数据仅仅有一组,第一行包含两个整数C(0<=C<=100,000)和N(N<=10,000),表示鸣人的初始查克拉值以及仪式决定的时刻的个数。
接下来有N行,第i行包括一个整数Ai (0<=ai<=100,000)。表示第i个时刻的查克拉值。
Output
输出一个整数。表示鸣人在使用忍术后能到达的最大的查克拉值。
Sample Input
Sample Input1
10 5
1
2
3
2
5 Sample Input2
10 2
11
13
Sample Output
Sample Output1
15 Sample Output2
10
Source
Author
#include<stdio.h>
#define N 10100
int main()
{
int C,n,a[N],dp[2][N],min,max,ans;
scanf("%d%d",&C,&n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
min=a[0];dp[0][0]=0; ans=0;
for(int i=1;i<n;i++)//从前往后,第i个位结束
if(min<=C)
{
if(min>a[i])min=a[i];
dp[0][i]=a[i]-min;
if(ans<dp[0][i])ans=dp[0][i];
dp[0][i]=ans;
}
else
{
if(min>a[i])min=a[i];
dp[0][i]=ans;
} int sum=dp[0][n-1]+C;
max=a[n-1]; dp[1][n-1]=0; ans=0;
for(int i=n-2;i>0;i--)//从后往前,第i个位開始
if(dp[0][i-1]+C>=a[i])
{
if(max<a[i])max=a[i];
dp[1][i]=max-a[i];
if(ans<dp[1][i])ans=dp[1][i];
dp[1][i]=ans;
if(sum<dp[0][i-1]+C+dp[1][i])
sum=dp[0][i-1]+C+dp[1][i];
}
else
{
if(max<a[i])max=a[i];
dp[1][i]=ans;
if(sum<dp[0][i-1]+C+dp[1][i])
sum=dp[0][i-1]+C+dp[1][i];
}
printf("%d\n",sum);
}
BNUOJ29065鸣人的查克拉的更多相关文章
- [openjudge-动态规划]鸣人的影分身
题目描述 描述 在火影忍者的世界里,令敌人捉摸不透是非常关键的.我们的主角漩涡鸣人所拥有的一个招数--多重影分身之术--就是一个很好的例子. 影分身是由鸣人身体的查克拉能量制造的,使用的查克拉越多,制 ...
- NOI 8467 鸣人的影分身
http://noi.openjudge.cn/ch0206/8467/ 描述 在火影忍者的世界里,令敌人捉摸不透是非常关键的.我们的主角漩涡鸣人所拥有的一个招数——多重影分身之术——就是一个很好的例 ...
- AcWing 1050. 鸣人的影分身
题目链接 题目描述: 在火影忍者的世界里,令敌人捉摸不透是非常关键的. 我们的主角漩涡鸣人所拥有的一个招数--多重影分身之术--就是一个很好的例子. 影分身是由鸣人身体的查克拉能量制造的,使用的查克拉 ...
- BFS:noi6044鸣人与佐助
PS:一道XX到我心态崩溃的好(傻逼)题. 先粘题目: 佐助被大蛇丸诱骗走了,鸣人在多少时间内能追上他呢? 已知一张地图(以二维矩阵的形式表示)以及佐助和鸣人的位置.地图上的每个位置都可以走到,只不过 ...
- HRBUST1310 火影忍者之~鸣人 2017-03-06 16:01 104人阅读 评论(0) 收藏
火影忍者之-鸣人 火影忍者的男主角漩涡鸣人,因为身上封印着邪恶的九尾妖狐,无父无母的他受尽了村人的冷眼与歧视,他下定决心要成为第六代火影,让所有人都认同他的存在,火影是动漫火影忍者中主人公鸣人所在的国 ...
- 火影忍者之~鸣人 (字符串处理,strcmp)
火影忍者的男主角漩涡鸣人,因为身上封印着邪恶的九尾妖狐,无父无母的他受尽了村人的冷眼与歧视,他下定决心要成为第六代火影,让所有人都认同他的存在,火影是动漫火影忍者中主人公鸣人所在的国家的最强忍者的头衔 ...
- IOC 本质是为了实现 AOP|火影鸣人
@JFinal 波总在 JFinal 4.8 发布新闻的评论 中给出了下面的表述: IOC 本质是为了实现 AOP 我有点吃惊, 没想到 Java 界的大佬对这两个概念有和我完全不一致的认识. 所以写 ...
- 【noi 2.6_666】放苹果 & 【noi 2.6_8467】鸣人的影分身(DP)
这题其实在2.6前面的专题也有出现过,我还以为我有写,结果发现,并没有.于是就现在写了.这2题其实重复了......我就按放苹果的来说. 题意:把N个苹果放在M个盘子里,允许有的盘子空着不放,问共有多 ...
- #搜索# #BFS# #优先队列# ----- OpenJudge鸣人和佐助
OpenJudge 6044:鸣人和佐助 总时间限制: 1000ms 内存限制: 65536kB 描述 佐助被大蛇丸诱骗走了,鸣人在多少时间内能追上他呢? 已知一张地图(以二维矩阵的形式表示)以及佐 ...
随机推荐
- The number of positions
Description The number of positions time limit per test: 0.5 second memory limit per test: 256 megab ...
- client|server 最简单的聊天
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/socket ...
- 11417 - GCD
Problem A GCD Input: Standard Input Output: Standard Output Given the value of N, you will have to f ...
- 发布MFC ActiveX控件并实现自动更新
一. 引言 上一篇我们讲了如何使用 VC 2005来开发 MFC ActiveX控件,我们开发 ActiveX控件最终目的是将 ActiveX控件发布出来并嵌入在 Web网页中,随着控件 ...
- iOS 数组里面取字典的值
NSArray *arrData = @[@"1",@"2",@"3",@"4"]; NSArray *arrKey = ...
- [LeetCode][Python]16: 3Sum Closest
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 16: 3Sum Closesthttps://oj.leetcode.com ...
- ReactNative遇到的一些坑
1. 如果通过一个url进行下载上传操作,这个url中包含有中文的话,一定要记得将这个url转为URLEncode编码. 如: encodeURI('http://test/有中文.doc'); 2. ...
- 请问下mtk双卡手机怎样发短信是怎样选择sim卡来发(双卡都可用的情况下)?
如题,我如今可以获取双卡状态,当仅仅有单一卡的时候可以指定sim卡进行发短信,可是双卡都可用的情况下,程序就默认使用卡1发短信了.即使指定了sim卡编号.
- ubuntu FTP服务安装
//安装vsftp apt-get install vsftpd -y //增加账号 //1 查找 nologin位置 /usr/sbin/nologin useradd -d /alidata/ww ...
- hosts文件的路径
在windows中,hosts文件的路径为:C:\Windows\System32\drivers\etc 在Linux中,hosts文件的路径为:/etc/hosts