//C++三指针解决接雨水问题
class Solution {
public:
/**
* max water
* @param arr int整型vector the array
* @return long长整型
*/
long long maxWater(vector<int>& arr) {
// write code here
int top=0;
for(int i=0;i<arr.size();i++){
if(arr[i]>arr[top])
top=i;
}
int left=0;
int right=0;
long long water=0;
while(right<top){
if(arr[left]>arr[right])
{
water=water+arr[left]-arr[right];
right+=1;
}else{
left=right;
right+=1;
}
}
left=arr.size()-1;
right=arr.size()-1;
while(right>top){
if(arr[left]>arr[right])
{
water=water+arr[left]-arr[right];
right-=1;
}else{
left=right;
right-=1;
}
}
return water;
}
};