#include <vector>
class Solution {
public:
    /**
     * pick candy
     * @param arr int整型vector the array
     * @return int整型
     */
    vector<int>nums;
    int candy(vector<int>& arr) {
        // write code here
        nums.resize(arr.size(),1);//默认全都给一个
        for(int i=1;i<arr.size();i++){//从前往后 如果后面那个大的话,就在前一个基础上多分一个
            if(arr[i]>arr[i-1]) nums[i]=nums[i-1]+1;
        }
        for(int i=arr.size()-1;i>0;i--){//从后往前 如果前面那个大的话 取本身和后一个基础上加1的较大值
            if(arr[i-1]>arr[i]) nums[i-1]=max(nums[i-1],nums[i]+1);
        }
        int ans=0;
        for(int i=0;i<nums.size();i++){
            ans+=nums[i];
        }

        return ans;
    }
};