一看题目名字,下意识地认为DP。
打开题目,发现是一道水的贪心,和DP没一分钱关系(毕竟是洛谷最水月赛的T2)。
废话不多说。
看完题面,首先想到排序。要将乱序的石头高度变为有序,才能更好地想题。
C++排序代码:
sort(a+1,a+1+n);//STL大法好!
因为要使耗费的体力值最大,所以距离肯定要最长。
又因为地面高度是0,所以肯定要跳到最高的一块石头上才能耗费最多的体力值。
跳到最高的石头上后,为了耗费更多的体力值,就应该跳到距离这块石头最远的石头上,也就是除地面外最矮的一块石头。
跳到除地面外最矮的石头上后,为了耗费更多的体力值,就应该跳到第二高的石头上。
…………以此类推
注意:虽然n很小,但是石头的高度很高,所以应该用long long类型(比赛时我被坑了……),就有了OIer最爱说的一句话:十年OI一场空,不开long long见祖宗。
(扯多了……)
于是我们就有了下列代码:
#include<bits/stdc++.h>//万能头文件,训练时可以用,但在比赛时不