#include <iostream>
#include <vector>
using namespace std;
int vol(vector<int> vec){
int max = vec[0];
int max_pos = 0;
for(int i = 0; i < vec.size(); i++){
if(vec[i] > max){
max = vec[i];
max_pos = i;
}
}
int max_left = vec[0];
int max_right = vec[vec.size() - 1];
int volume = 0;
for(int i = 0; i < max_pos; ++i){
if(vec[i] > max_left)
max_left = vec[i];
else
volume += max_left - vec[i];
}
for(int i = vec.size() - 1; i > max_pos; --i){
if(vec[i] > max_right)
max_right = vec[i];
else
volume += max_right - vec[i];
}
return volume;
}
int main()
{
vector<int> vec{2, 5, 1, 2, 3, 4, 7, 7, 6};
cout<<vol(vec);//输出10
}
数组蓄水池
猜你喜欢
转载自blog.csdn.net/weixin_40804971/article/details/82793495
今日推荐
周排行