// a little hard.
class Solution {
public:
    int candy(vector<int>& arr) {
        int ans = 0;
        vector<int>a(arr.size(), 1);
        for(int i = 1; i < arr.size(); i++){
            if(arr[i] > arr[i-1]){
                a[i] = a[i - 1] + 1;
            }
        }
        ans += a[arr.size() - 1];
        for(int i = arr.size() - 2; i >= 0; i--){
            if(arr[i] > arr[i + 1] && a[i] <= a[i + 1])
                a[i] = a[i + 1] + 1;
            ans += a[i];
        }
        return ans;
    }
};