#include<iostream> using namespace std; int longth; int road[100005] = { 0 }; int main() { int days = 0; cin >> longth; for (int i = 1; i <= longth; i++) { cin >> road[i]; }//输入每一段的下陷深度 for (int i = 1; i <= longth; i++) //注意循环的起始点,因为if语句里总是将当前项与前一项比较,所以定义road[0] = 0是为了使得road[1]被纳入计算days的范围 { if (road[i] > road[i - 1]) //进行比较,如果后面的坑比前面的深,则在填较深的那个的时候与它相邻的那个总会捎带一起填平,所以就不需要去专门填较浅的坑 { days = road[i] - road[i - 1]+days; //这里是计算出大坑相对于小坑多花的天数,如果向后遍历一直是小坑,则不需要计入天数,因为小坑总是会被与它相邻的大坑捎带填平