Its failing few test cases

#include<bits/stdc++.h>
using namespace std;
int main ()
{
int n;
cin>>n;

vector<int>arr;
for(int i=0;i<n;i++)
{
	int x;
	cin>>x;
	arr.push_back(x);
}


vector<int>candies(n,1);
for(int i=1;i<n;i++)
{
	if(arr[i]>arr[i-1])
	{
		candies[i]+=1;

	}

}
for(int i=n-1;i>=0;i--)
{
	if(arr[i-1]>arr[i])
	{
		candies[i-1]= max(candies[i-1],candies[i]+1);
	}
}
int result=0;
for(int i=0;i<n;i++)
{
	result+=candies[i];
}
cout<<result;

return 0;

}