You are given infinite coins of N denominations v1, v2, v3,…..,vn and a sum S. The coin change problem is to find the minimum number of coins required to get the sum S. What is the time complexity of a dynamic programming implementation used to solve the coin change problem?

(a) O(N)

(b) O(S)

(c) O(N^2)

(d) O(S*N)

I had been asked this question by my school principal while I was bunking the class.

My query is from Coin Change Problem topic in chapter Dynamic Programming of Data Structures & Algorithms II