간단한 동전 문제 (Easy)

시간 제한1초메모리 제한1024 MB

요약
최대 두 종류의 동전을 각각 원하는 만큼 써서 정확히 M원을 만드는 최소 동전 개수를 구하고, 불가능하면 -1을 출력한다.
난이도

보통10점 중 5점

유형
수학, 정수론, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

이 문제는 간단한 동전 문제 (Hard)와 NN과 MM의 제한을 제외하면 동일한 문제입니다.

쿠옹이는 경희 왕국에 살고 있다. 경희 왕국에서는 P_1P\_1원, P_2P\_2원, ⋯\cdots, P_NP\_N원의 NN종류의 동전을 사용한다.

신기하게도 경희 왕국에는 00 또는 음의 가치를 가지는 동전이 있을 수 있다.

쿠옹이는 물건을 사기 위해 정확히 MM원을 지불하려 한다. 물론 MM이 00 또는 음수인 경우에도 정확히 MM원을 지불해야 한다. 쿠옹이는 각 동전을 무한히 많이 가지고 있어서 정확히 MM원을 지불하는 방법이 있다면 항상 지불할 수 있다.

예를 들어 5050원 동전과 −3-3원 동전으로 9494원을 지불해야 한다면 지불해야 하는 동전의 최소 개수는 5050원 22개, −3-3원 22개로 총 44개이다. 이보다 적은 개수의 동전으로 정확히 9494원을 지불할 수는 없다.

입력

첫째 줄에 동전의 종류 N(0≤N≤2)N(0 \le N \le 2)과 지불할 금액 M(−1000≤M≤1000)M(-1 000 \le M \le 1 000)이 공백으로 구분되어 주어진다.

둘째 줄에 각 동전의 가치 P_1P\_1, P_2P\_2, ⋯\cdots, P_NP\_N (−1,000≤P_i≤1,000)(-1\\,000 \le P\_i \le 1\\,000)가 공백으로 구분되어 주어진다. 만약 N=0N = 0이라면 입력에 둘째 줄은 주어지지 않는다.

입력되는 모든 수는 정수이다.

출력

MM원을 지불하기 위해 필요한 동전의 최소 개수를 출력하라. 어떤 방법으로도 MM원을 지불할 수 없다면 −1-1을 대신 출력하라.

예제5

  1. 예제 1

    입력
    2 94
    50 -3
    
    예상 출력
    4
    
  2. 예제 2

    입력
    2 999
    2 4
    
    예상 출력
    -1
    
  3. 예제 3

    입력
    1 -5
    -1
    
    예상 출력
    5
    
  4. 예제 4

    입력
    0 1
    
    예상 출력
    -1
    
  5. 예제 5

    입력
    2 0
    1 -1
    
    예상 출력
    0