fixed performance bottleneck due to a loop, fixed a bug on backtrack algorithm which did not update correctly the references when adding the campaigns. Refactor how we detect the maximized knapsack in dynamic programming