Candy
<-H 135> Candy
class Solution {
public:
int candy(vector<int>& ratings) {
const int n = ratings.size();
vector<int> candys(n);
for(int i = 1, increased_candy = 1; i != n; i++)
if(ratings[i] > ratings[i - 1])
candys[i] = max(increased_candy++, candys[i]);
else
increased_candy = 1;
for(int i = n - 2, increased_candy = 1; i >= 0; i--)
if(ratings[i] > ratings[i + 1])
candys[i] = max(increased_candy++, candys[i]);
else
increased_candy = 1;
return accumulate(&candys[0], &candys[0] + n, n);
}
};