#195. 路径海拔变化总和

    ID: 195 Type: Default 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>codingbatAp-1gesp1循环结构数学基础

路径海拔变化总和

路径海拔变化总和

题目背景

聪聪和他的朋友们计划进行一次徒步旅行。他们有一张记录了沿途海拔高度的地图,现在他们想计算在特定路段中海拔总共变化了多少。

题目描述

给定一个表示海拔高度的数组,以及一个起始索引 start 和一个结束索引 end。你需要计算从 start 索引开始到 end 索引结束的徒步路径中,相邻海拔高度变化的绝对值之和。 例如,对于海拔数组 {5,3,6,7,2}\{5, 3, 6, 7, 2\},如果 start=2end=4,则路径为从索引 2 到索引 4。 海拔变化计算如下: heights[3]heights[2]=76=1|heights[3] - heights[2]| = |7 - 6| = 1 heights[4]heights[3]=27=5|heights[4] - heights[3]| = |2 - 7| = 5 总和为 1+5=61 + 5 = 6startend 索引都将是数组中的有效索引,并且满足 start <= end

输入格式

输入以如下格式从标准输入中给出。

[h_0 h_1 ... h_{N-1}] start end

其中 h_i 是海拔高度,start 是起始索引,end 是结束索引。

输出格式

输出以如下格式输出到标准输出中。

sum_of_changes

其中 sum_of_changes 是指定路径中相邻海拔高度变化的绝对值之和。

样例

[5 3 6 7 2] 2 4
6
[5 3 6 7 2] 0 1
2
[5 3 6 7 2] 0 4
11

样例解释

对于第一个样例,海拔数组为 {5,3,6,7,2}\{5, 3, 6, 7, 2\},起始索引 start=2,结束索引 end=4。 需要计算的路径段为 heights[2]heights[4],即 {6,7,2}\{6, 7, 2\}。 相邻海拔变化的绝对值之和为: $|heights[3] - heights[2]| + |heights[4] - heights[3]|$ =76+27= |7 - 6| + |2 - 7| =1+5= 1 + 5 =6= 6

数据范围

每个测试用例的时间限制为 1 秒,内存限制为 1024 KiB。