2533: 【模拟】2024D-攀登者2
金币值:
1
时间限制:2.000 s
内存限制:128 M
正确:164
提交:660
正确率:24.85% 命题人:
题目描述
攀登者喜欢寻找各种地图,并且尝试攀登到最高的山峰。
地图表示为一维数组,数组的索引代表水平位置,数组的高度代表相对海拔高度。其中数组元素
0
代表地面。
例如
[0,1,2,4,3,1,0,0,1,2,3,1,2,1,0]
, 代表如下图所示的地图。地图中有两个山脉位置分别为 1,2,3,4,5
和8,9,10,11,12,13
,最高峰高度分别为 4,3
。最高峰位置分别为3,10
。
一个山脉可能有多座山峰(高度大于相邻位置的高度,或在地图边界且高度大于相邻的高度)。
4
+---+
| |
| | 3 3
| |
| +---+ +---+
| | | |
2 | | 2 | | 2
| | | |
+---+ | +---+ | +---+
| | | | | |
1 | | 1 1 | | 1 | | 1
| | | | | |
+---+ +---+ +---+ +---+ +---+
| | | |
0 | | 0 0 | | 0
| | | |
+---+ +-------+ +---+
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
登山时会消耗登山者的体力(整数),上山时,消耗相邻高度差两倍的体力,下坡时消耗相邻高度差一倍的体力,平地不消耗体力,登山者体力消耗到零时会有生命危险。
例如,上图所示的山峰:从索引
0
,走到索引 1
,高度差为 1
,需要消耗 2*1=2
的体力;从索引 2
高度 2
走到高度 4
索引 3
需要消耗 2*2=4
的体力;从索引 3
走到索引 4
则消耗 1*1=1
的体力。
攀登者想要评估一张地图内有多少座山峰可以进行攀登,且可以安全返回到地面,且无生命危险。
例如上图中的教组,有
3
个不同的山峰,登上位置在3
的山可以从位置0
或者位置6
开始,从位置0
登到山顶需要消耗体力1*2+1*2+2*2=8
,从山顶返回到地面0
需要消耗体力 2*1+1*1+1*1=4
的体力,按照登山路线0->3->0
需要消耗体力 12
。攀登者至少需要12
以上的体力(大于12
)才能安全返回。
输入格式
第一行输入 一个长度为N的数组,表示地图。
第二行输入最大体力。
输出格式
输出一个数字,地图中可以攀登到达的山峰数量
输入样例 复制
0,1,4,3,1,0,0,1,2,3,1,2,1,0
11
输出样例 复制
2