怎么说呢,就是对于当前的积木,如果他的前一个比他低,那他前一个搭一层的时候,可以连带着后一层一起搭,所以可以从前往后遍历,找到一个目标积木比前一个高的,就加上两者的差,可以画图理解
#include<iostream>
using namespace std;
int n;
int a[100005];
int main(void)
{
cin>>n;
int ans = 0;
for(int i = 1;i <= n;i++)
{
cin>>a[i];
if(a[i] > a[i-1])
{
ans += a[i]-a[i-1];
}
}
cout<<ans<<endl;
return 0;
}