package main

/**
 * pick candy
 * @param arr int整型一维数组 the array
 * @return int整型
 */
func candy(arr []int) int {
	if len(arr) <= 1 {
		return len(arr)
	}
	
	res := make([]int, len(arr))
	for i := 0; i < len(res); i++ {
		res[i] = 1
	}

	// 右边比左边大
	for i := 1; i < len(arr); i++ {
		if arr[i] > arr[i-1] {
			res[i] = res[i-1] + 1
		}
	}

	// 左边比右边大,但糖果数却更少
	for i := len(arr) - 2; i >= 0; i-- {
		if arr[i] > arr[i+1] && res[i] <= res[i+1] {
			res[i] = res[i+1] + 1
		}
	}

	sum := 0
	for _, r := range res {
		sum += r
	}

	return sum
}