int candy(vector<int> &ratings) {
// Note: The Solution object is instantiated only once and is reused by each test case.
if(ratings.empty())
return 0;
int n = ratings.size();
vector<int> candys(n,1);
int next_candy = 2;
for(int i=0;i<n;i++)
{
if(i>0&&ratings[i]>ratings[i-1])
candys[i] = max(candys[i],next_candy++);
else
next_candy = 2;
}
next_candy = 2;
for(int i=n-1;i>=0;i--)
{
if(i<n-1&&ratings[i]>ratings[i+1])
candys[i] = max(candys[i],next_candy++);
else
next_candy = 2;
}
int sum = 0;
for(int i=0;i<n;i++)
sum+=candys[i];
return sum;
}