知识点:差分数组
(好久没做算法题了)
#include<bits/stdc++.h>
using namespace std;
int n;
int h[100005];
int b[100005];
int main(){
scanf("%d",&n);
int i,j;
for(i=0; i < n;i++){
scanf("%d",&h[i]);
if(i==0){
b[i]=h[i];
}else{
b[i]=h[i]-h[i-1];
}
}
b[i]=-h[i-1];
int ans=0,l=0,r=n;
for(i=0; i < n+1;i++){
if(b[i]>0) ans+=b[i];
}
printf("%d",ans);
return 0;
}
本文介绍了一种使用差分数组解决特定类型问题的方法。通过计算输入数组与其前一项之差来形成新的差分数组,并利用这种方法高效地求解正数元素的总和。
1032

被折叠的 条评论
为什么被折叠?



