그래서 나는 코딩을 그만두었다
시간 제한1초메모리 제한1024 MB
상대 N명과 한 판씩 겨룰 때 정신력이 0 이하로 떨어지지 않게 하면서 최대 몇 판을 둘 수 있는지 구합니다.
문제
세종이는 일 동안의 방학을 알차게 보내려고 한다. 그래서 매일 다른 학생과 코딩 대결을 한 번씩 한다. 코딩을 잘할수록 대결에서 쉽게 이길 수 있지만, 멘탈 관리 역시 승패를 가르는 중요한 요인이다. 구체적으로, 대결에서 학생이 보이는 퍼포먼스는 그 학생의 코딩 실력과 멘탈 수치의 합이다. 퍼포먼스가 더 높은 쪽이 승리한다.
세종이는 자신보다 코딩 실력이 높은 학생을 이기면 둘의 코딩 실력 차이만큼 멘탈 수치를 얻는다. 대결에서 지면 멘탈 수치를 만큼 잃는다. 세종이보다 코딩 실력이 낮은 학생에게 졌다면, 둘의 코딩 실력 차이만큼 추가로 멘탈 수치를 잃는다. 퍼포먼스가 같은 학생과 대결하면 무승부가 되며, 세종이의 멘탈 수치는 변하지 않는다.
멘탈 수치가 이하가 되면 세종이는 코딩을 그만두게 된다. 세종이는 멘탈 관리를 위해 어느 정도의 휴식도 필요하다고 생각한다. 휴식하는 날에는 대결을 하지 않고 하루 종일 자면서 멘탈 수치를 만큼 회복한다. 이미 대결할 명의 학생을 구해 둔 상태이므로, 대결 날짜와 휴식 날짜를 조절해 방학 동안 최대한 많은 학생과 대결하고자 한다. 모든 학생과는 최대 1번만 대결한다.
세종이가 코딩을 그만두지 않으면서 방학 동안 할 수 있는 코딩 대결 횟수의 최댓값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 방학의 일수 , 대결에서 졌을 때 깎이는 멘탈 수치 , 휴식을 통해 얻을 수 있는 멘탈 수치 이 공백으로 구분되어 주어진다. , , 은 정수
둘째 줄에 세종이의 코딩 실력 과 초기 멘탈 수치 이 공백으로 구분되어 주어진다. , 은 정수
셋째 줄부터 개의 줄에 걸쳐 각 학생의 코딩 실력 와 멘탈 수치 가 공백으로 구분되어 주어진다. , 는 정수
출력
첫째 줄에 세종이가 방학 동안 할 수 있는 코딩 대결 횟수의 최댓값을 출력한다.