Come devo applicare la memoizzazione per ottimare il problema Greedy Santa.
Codice:
int greedy_santa(int gift[], int i, int sum)
{
if(gift[i] + sum >= M)
{
return gift[i] + sum;
}
if(i == N)
return 1000000;
return min(greedy_santa(gift, i+1, sum),greedy_santa(gift, i+1, sum+gift[i]));
}
Ps: se la funzione mi ritorna 1000000 vuol dire che dovrò stampare la somma di tutti i regali.