/**
 * pick candy
 * @param arr int整型一维数组 the array
 * @return int整型
*/
func candy( arr []int ) int {
    // write code here
    if len(arr) == 0{
        return 0
    }

    candyV := make([]int, len(arr))
//   每个都可以得到一个糖果
    for i:=0; i<len(candyV);i++{
        candyV[i] = 1
    }

//  从左向右
    for i:=1; i< len(candyV); i++{
        if arr[i] > arr[i-1] {
            candyV[i] = candyV[i-1]+1
        }
    }

//  从右向左
    for i:= len(candyV)-2; i>=0; i--{
        if arr[i]> arr[i+1] {
            candyV[i] = max(candyV[i+1]+1, candyV[i])
        }
    }

//  计算累计和
    sum := 0
    for _, x := range candyV {
        sum +=x 
    }
    return sum
}

func max(a, b int) int{
    if a>b {return a}
    return b
}