I am getting repeated WA in this problem. Can someone please suggest some test cases some good testcase. Am posting the relevant parts of my code below.
Thanks!
int main()
{
long long m1,m2,m3;
int n,v,re;
si(n);
vector<long long > arr(LEN),max(LEN),ans(LEN);
rep(i,n)
sl(arr[i]);
ans[0]=0;
max[0]=arr[0];
ans[1]=max[1]=MAX(arr[0],arr[1]);
int i;
for(i=2;i<n;i++)
{
m1 = MAX(arr[i],arr[i-1]);
m2= MAX(m1,max[i-2]);
m3= MAX(arr[i],max[i-1]);
if( ans[i-1]+m3 < ans[i-2]+m1 + m2 || ans[i-1]+m3<ans[i-2]+m1+m2 && m3<m2)
{
ans[i]=ans[i-1]+m3;
max[i]=m3;
}
else
{
ans[i]=ans[i-2]+m1+m2;
max[i]=m2;
}
}
cout<<ans[n-1]<<endl;
return 0;
}