선물

면접 대비

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

요약
각 친구의 물건 가격과 배송비가 주어지고 물건 가격을 절반으로 줄이는 쿠폰이 하나 있을 때, 예산 B 안에서 선물할 수 있는 친구 수의 최댓값을 구한다.
난이도

보통10점 중 4점

유형
정렬, 그리디, 누적 합, 완전 탐색
정답자
아직 제출이 없습니다

문제

시흠이는 군대에 가기 전에, 그동안 함께 놀아 준 친구 NN명에게 선물을 하려고 한다. 시흠이가 가진 돈은 BB원이다.

ii번째 친구가 받고 싶어 하는 선물의 가격은 PiP_i원이고, 배송비는 SiS_i원이다. 따라서 ii번째 친구에게 선물을 보내려면 Pi+SiP_i + S_i원이 필요하다.

시흠이는 선물 가격을 절반으로 깎아 주는 쿠폰을 딱 한 장 가지고 있다. 이 쿠폰을 ii번째 친구에게 사용하면 ⌊Pi/2⌋+Si\lfloor P_i / 2 \rfloor + S_i원만으로 선물을 보낼 수 있다. (쿠폰은 선물 가격에만 적용되며, 배송비에는 적용되지 않는다.)

시흠이가 선물을 보낼 수 있는 친구 수의 최댓값을 구하시오.

입력

첫째 줄에 친구의 수 NN과 가진 돈 BB가 공백으로 구분되어 주어진다. (1≤N≤10001 \le N \le 1000, 1≤B≤1,000,000,0001 \le B \le 1{,}000{,}000{,}000)

둘째 줄부터 NN개의 줄에 걸쳐 각 줄마다 ii번째 친구가 원하는 선물의 가격 PiP_i와 배송비 SiS_i가 공백으로 구분되어 주어진다. (0≤Pi,Si≤1,000,000,0000 \le P_i, S_i \le 1{,}000{,}000{,}000)

출력

시흠이가 선물을 보낼 수 있는 친구 수의 최댓값을 첫째 줄에 출력한다.

힌트

예를 들어 친구가 55명이고 가진 돈이 2424원이며, 각 친구의 (Pi,Si)(P_i, S_i)가 (4,2),(2,0),(8,1),(6,3),(12,5)(4, 2), (2, 0), (8, 1), (6, 3), (12, 5)라고 하자. 이때 1번, 2번, 4번 친구의 선물은 정가로 사고 3번 친구의 선물에 쿠폰을 사용하면, 필요한 금액은 (4+2)+(2+0)+(⌊8/2⌋+1)+(6+3)=6+2+5+9=22(4+2) + (2+0) + (\lfloor 8/2 \rfloor + 1) + (6+3) = 6 + 2 + 5 + 9 = 22원이다. 가진 돈 2424원 안에서 네 명 모두에게 선물을 보낼 수 있으므로 답은 44이다. 쿠폰을 1번이나 4번 친구에게 사용해도 같은 결과를 얻는다.

예제1

  1. 예제 1

    입력
    5 24
    4 2
    2 0
    8 1
    6 3
    12 5
    
    예상 출력
    4