## PROBLEM LINK :

ContestPractice

**Author:** Himanshu Sharma

**Tester:** Vipul Ahuja

**Editorialist:** Himanshu Sharma

## DIFFICULTY:

Easy-Medium## PREREQUISITES:

Easy DP, Recursion.## PROBLEM:

chefs mom has collection of N chocolates. Each chocolate has different taste value. Mom has some rules, chef can eat atmost 3 chocolates in a row, to eat next chocolates he must skip atleast 1 chocolate. Chef wants to get maximum possible taste value. Find out maximum possible taste value chef can get.## QUICK EXPLANATION:

The above problem is standard DP problem.

Let DP : 2d vector for storing intermediate values.

And let V: vector of elements.

DP[1][1]=DP[1][2]=DP[1][3]=DP[1][4]=V[1]; for i in range 2 to N DP*[0]=max(DP[i-1][0],DP[i-1][1],DP[i-1][2],DP[i-1][3]); for j in range 1 to 3 DP*[j]=DP[i-1][j]+v*; result=max(DP[N][1],DP[1][2]);

Complexity of Above solution is **O(N)** in worst case.