Solution: Let T(N) be the time to run pick on a list of N items. Then
T(0) => c;T(N+1) => 2*T(N) + d;
In other words, adding one more item approximately doubles the solution time. The solution thus has the bound
T(N) e O(2N)
i.e. the algorithm is exponential. We could see this coming, since there are 2N subsets of N items and the method we used tries each possible subset.
Note: Many people presented what they called O(N2) time solutions, or better. It is not likely that any of these work.