Associated Course(s):
Sudo Placement 2019

Given a list of coins of distinct denominations and total amount of money. Output the minimum number of coins required to make up that amount. Output** -1** if that money cannot be made up using given coins.

You may assume that there are infinite numbers of coins of each type.

**Input:**

The first line contains 'T' denoting the number of testcases. Then follows description of testcases.

Each cases begins with the two space separated integers **'n' **and **'amount' **denoting the total number of distinct coins and total amount of money respectively.

The second line contains **n** space-separated integers A_{1}, A_{2}, ..., A_{n} denoting the values of coins.

**Output:**

For each testcase, in a new line, print the minimum number of coins required to make up that amount,** **print **-1 **if it is impossible to make that amount using given coins.

**Constraints:**

1<=T<=100

1<=n<=100

1<=A_{i}<=1000

1<=amount<=100000

**Example:**

**Input :**

2

3 11

1 2 5

2 7

2 6

**Output :**

3

-1

If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.

KarlBreitkopf | 391 |

ninjahatori | 352 |

vampire123 | 334 |

kite | 320 |

Raunaq Singh 3 | 300 |

vampire123 | 872 |

nishant.ns19 | 839 |

ArushiGarg1 | 828 |

Raunaq Singh 3 | 820 |

xbuttercupx | 787 |

blackshadows | 5331 |

Ibrahim Nash | 5219 |

akhayrutdinov | 5111 |

mb1973 | 4790 |

Quandray | 4499 |

Login to report an issue on this page.