Perl 5 -ap
, 156156 147 bytes
for(;$i<@F;$p=++$i)$q='$F[$i';map{if($F[$ieval"\$i++while$q]$_"}"<$q+1]",">$q+1]&&$q]>$q+2]&&\$i<\@F"if eval"$q-1]-$F[$i+1]||$F[$i]>$F[$i+1]){$i++while$F[$i]<$F[$i+1];$i++while$F[$i]>$F[$i+1]&&$i<@F&&$F[$i]>$F[$i+2]}$\$q+1]||$q]>$q+1]";$\.=$".sum@F[$p..$i]}$i];($p=++$i)<@F&&redo}{