package main
func maxWater( arr []int ) int64 {
// write code here
// 使用双指针分别标记当前左右侧木板的高度
// 如果左侧木板小于右侧木板,那么对应桶的容量不会超过左侧木板高度
n, ans := len(arr), 0
left, right, leftMax, rightMax := 0, n-1, arr[0], arr[n-1]
for left < right {
if leftMax < rightMax {
ans += leftMax - arr[left]
left++
leftMax = max(leftMax, arr[left])
} else {
ans += rightMax - arr[right]
right--
rightMax = max(rightMax, arr[right])
}
}
return int64(ans)
}
func max(a, b int) int { if a < b { return b }; return a }
func min(a, b int) int { if a < b { return a }; return b }