import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * max water
     * @param arr int整型一维数组 the array
     * @return long长整型
     */
    public long maxWater (int[] arr) {
        // write code here
        if (arr == null || arr.length == 0 || arr.length == 1) {
            return 0L;
        }

        int sum = 0;
        int left = 0;
        int right = arr.length - 1;

        int maxLeft = 0;
        int maxRight = 0;

        while (left < right) {
            maxLeft = Math.max(maxLeft, arr[left]);
            maxRight = Math.max(maxRight, arr[right]);

            if (maxLeft < maxRight) {
                sum += maxLeft - arr[left++];
            } else {
                sum += maxRight - arr[right--];
            }
        }

        return sum;
    }
}