만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

그래서 나는 코딩을 그만두었다

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

요약
상대 N명과 한 판씩 겨룰 때 정신력이 0 이하로 떨어지지 않게 하면서 최대 몇 판을 둘 수 있는지 구합니다.
난이도

보통10점 중 7점

유형
그리디, 정렬, 힙
정답자
아직 제출이 없습니다

문제

세종이는 NN일 동안의 방학을 알차게 보내려고 한다. 그래서 매일 다른 학생과 코딩 대결을 한 번씩 한다. 코딩을 잘할수록 대결에서 쉽게 이길 수 있지만, 멘탈 관리 역시 승패를 가르는 중요한 요인이다. 구체적으로, 대결에서 학생이 보이는 퍼포먼스는 그 학생의 코딩 실력과 멘탈 수치의 합이다. 퍼포먼스가 더 높은 쪽이 승리한다.

세종이는 자신보다 코딩 실력이 높은 학생을 이기면 둘의 코딩 실력 차이만큼 멘탈 수치를 얻는다. 대결에서 지면 멘탈 수치를 LL만큼 잃는다. 세종이보다 코딩 실력이 낮은 학생에게 졌다면, 둘의 코딩 실력 차이만큼 추가로 멘탈 수치를 잃는다. 퍼포먼스가 같은 학생과 대결하면 무승부가 되며, 세종이의 멘탈 수치는 변하지 않는다.

멘탈 수치가 00 이하가 되면 세종이는 코딩을 그만두게 된다. 세종이는 멘탈 관리를 위해 어느 정도의 휴식도 필요하다고 생각한다. 휴식하는 날에는 대결을 하지 않고 하루 종일 자면서 멘탈 수치를 RR만큼 회복한다. 이미 대결할 NN명의 학생을 구해 둔 상태이므로, 대결 날짜와 휴식 날짜를 조절해 방학 동안 최대한 많은 학생과 대결하고자 한다. 모든 학생과는 최대 1번만 대결한다.

세종이가 코딩을 그만두지 않으면서 방학 동안 할 수 있는 코딩 대결 횟수의 최댓값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 방학의 일수 NN, 대결에서 졌을 때 깎이는 멘탈 수치 LL, 휴식을 통해 얻을 수 있는 멘탈 수치 RR이 공백으로 구분되어 주어진다. (1≤N≤100 000(1 \leq N \leq 100\,000, 1≤L,R≤1081 \leq L, R \leq 10^{8}, N,L,RN, L, R은 정수))

둘째 줄에 세종이의 코딩 실력 SS과 초기 멘탈 수치 MM이 공백으로 구분되어 주어진다. (1≤S,M≤108(1 \leq S, M \leq 10^{8}, S,MS, M은 정수))

셋째 줄부터 NN개의 줄에 걸쳐 각 학생의 코딩 실력 uu와 멘탈 수치 vv가 공백으로 구분되어 주어진다. (1≤u,v≤108(1 \leq u, v \leq 10^{8}, u,vu, v는 정수))

출력

첫째 줄에 세종이가 방학 동안 할 수 있는 코딩 대결 횟수의 최댓값을 출력한다.

예제1

  1. 예제 1

    입력
    3 5 6
    10 7
    8 11
    11 20
    12 6
    
    예상 출력
    2