题解-黑熊过河
黑熊過河
Description
有一只黑熊想過河,但河很寬,黑熊不會游泳,只能借助河面上的石墩跳過去,他可以一次跳一墩,也可以一次跳兩墩,但是每起跳一次都會耗費一定的能量,黑熊最終可能因能量不夠而掉入水中,所幸的事,有些石墩上放了一些食物,這些食物可以給黑熊增加一定的能量,問黑熊能否利用這些石墩安全的抵達(dá)對岸,若能,則計算出抵達(dá)對岸后剩余能量的最大值是多少?
Input
第一行包含兩個整數(shù)P(黑熊的初始能量),Q(黑熊每次起跳時耗費的能量),(0≤P,Q≤1000);
第二行只有一個整數(shù)N(1≤N≤10^610 6),即河中石墩的數(shù)目;
第三行有N個整數(shù),即每個石墩上食物的能量值ai(0≤ai≤1000)。
Output
輸出文件包括一行,若黑熊能抵達(dá)對岸,輸出抵達(dá)對岸后剩余能量的最大值是多少,若不能抵達(dá)對岸,則輸出“NO”。
Sample Input 1
12 5
5
0 5 2 0 7
Sample Output 1
6
——YCOJ
很明顯,這道題就是可以DP來做.
哦,好吧,對于題解(( ̄▽ ̄)~*)我們可以這樣理解一下:
好,你可以從圖中看出什么?—— dp[i]=max(dp[i],dp[i-2]-q+a[i]);
我們便可以從它的i-1和i-2個來算,熊可以從a[i-1]和a[i-2]個方向,因此在形成即可。
AC代碼:
GO OUT…
總結(jié)
- 上一篇: linux操作系统实验教程费翔林,实验一
- 下一篇: 互联网金融风控系统的设计