'''
class Solution {
static long trappingWater(int arr[], int n) {
// Your code here
if(n <= 2)return 0;
int[] left = new int[n];
int[] right = new int[n];
for(int i=0;i<n;i++){
if(i>0){
left[i] = Math.max(left[i-1] , arr[i-1]);
}else{
left[i] = -1;
}
}
for(int i=n-1;i>=0;i--){
if(i<n-1){
right[i] = Math.max(right[i+1] , arr[i+1]);
}else{
right[i] = -1;
}
}
long ans = 0;
for(int i=1;i<n-1;i++){
int cur = Math.min(left[i] , right[i]);
if(cur > arr[i]){
ans += cur - arr[i];
}
}
return ans;
}
}
'''