용돈

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

요약
각 단위가 다음 단위를 나누는 동전 종류와 개수가 주어질 때, 매주 C 이상을 지급할 수 있는 최대 주수를 구한다.
난이도

어려움10점 중 8점

유형
그리디, 정렬, 구현, 수학
정답자
아직 제출이 없습니다

문제

우유 생산 기록을 세운 상으로, 농부 존은 베시에게 매주 소액의 용돈을 주기로 했다.

농부 존은 서로 다른 NN (1≤N≤201 \le N \le 20)가지 액면가의 동전을 가지고 있으며, 각 액면가는 바로 다음으로 큰 액면가를 정확히 나눈다(즉, 더 큰 액면가는 항상 더 작은 액면가의 배수이다).

이 동전들을 사용하여 그는 매주 베시에게 정해진 금액 CC (1≤C≤100,000,0001 \le C \le 100{,}000{,}000) 이상을 지급하려고 한다. 농부 존이 베시에게 매주 CC 이상을 지급할 수 있는 최대 주 수를 구하여라.

입력

  • 첫째 줄: 두 정수 NN과 CC가 공백으로 구분되어 주어진다.
  • 둘째 줄부터 N+1N+1번째 줄까지: 각 줄은 한 가지 액면가를 나타내며, 그 액면가의 값 VV (1≤V≤100,000,0001 \le V \le 100{,}000{,}000)와 농부 존이 가진 해당 동전의 개수 BB (1≤B≤1,000,0001 \le B \le 1{,}000{,}000)가 공백으로 구분되어 주어진다.

출력

  • 첫째 줄: 농부 존이 베시에게 매주 CC 이상의 용돈을 지급할 수 있는 최대 주 수를 나타내는 정수 하나를 출력한다.

힌트

농부 존은 첫 주에는 10원짜리 동전 하나로 (필요한 금액을 초과하여) 지급하고, 이어지는 10주 동안은 매주 5원짜리 동전 두 개씩, 그다음 100주 동안은 매주 1원짜리 동전 하나와 5원짜리 동전 하나씩 지급할 수 있다. 따라서 총 1+10+100=1111 + 10 + 100 = 111주 동안 지급할 수 있다.

예제3

  1. 예제 1

    입력
    3 6
    10 1
    1 100
    5 120
    
    예상 출력
    111
    
  2. 예제 2

    입력
    1 5
    5 10
    
    예상 출력
    10
    
  3. 예제 3

    입력
    1 3
    5 4
    
    예상 출력
    4