만드는 중입니다

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

원교수님 A+ 주세요

면접 대비

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

요약
2024학번 학생 중 상위 M등 안에 들려면 김한양이 받아야 하는 기말고사 최소 점수를 구합니다.
난이도

보통10점 중 4점

유형
이분 탐색, 정렬, 구현
정답자
아직 제출이 없습니다

문제

김한양은 원교수님 과목의 중간고사 성적이 처참하게 나온 뒤, 원교수님의 학점을 예측하는 프로그램을 만들기로 했다.

이 프로그램은 학생 수 NN, A+를 받을 수 있는 최저 등수 MM, 중간고사 만점 XX, 기말고사 만점 YY, 그리고 김한양을 포함한 모든 학생의 학번과 중간고사 점수를 입력받는다. 김한양이 기말고사에서 A+를 받기 위해 필요한 최소 점수(정수)를 출력하면 된다.

A+를 받을 수 있는 학생은 학번의 앞 44자리가 2024인 학생뿐이며, 김한양도 여기에 해당한다. A+는 이 학생들 가운데 상위 MM등까지 주어진다. 등수는 중간고사와 기말고사 점수의 합계로 정한다. 김한양을 제외한 각 학생의 기말고사 점수는 기말고사 만점에서 그 학생이 중간고사에서 감점된 점수를 뺀 값으로 예측한다. 중간고사 감점은 중간고사 만점에서 해당 학생의 중간고사 점수를 뺀 값이다. 다만 기말고사 점수는 0점 미만이 될 수 없으므로, 계산 결과가 0점 미만이면 0점으로 처리한다.

각 학생의 등수는 ((해당 학생보다 높은 점수를 받은 학생의 수)+1) + 1로 정의한다. 예를 들어 점수가 100100, 100100, 9090, 9090, 8080이면 등수는 차례로 11, 11, 33, 33, 55가 된다.

입력

첫 번째 줄에 네 정수 NN, MM, XX, YY가 공백으로 구분되어 주어진다. (6≤N≤100;(6 \le N \le 100; 1≤M≤N;1 \le M \le N; 1≤X,Y≤109)1 \le X,Y \le 10^9)

두 번째 줄에 김한양의 학번과 중간고사 점수 hh가 공백으로 구분되어 주어진다. 김한양의 학번은 항상 2024로 시작한다. (0≤h≤X)(0 \le h \le X)

이후 N−1N-1개의 줄에 걸쳐 각 ii번 학생의 학번과 중간고사 점수 sis_i가 공백으로 구분되어 주어진다. (0≤si≤X)(0 \le s_i \le X)

모든 학번은 10자리 숫자로 이루어진 서로 다른 문자열이고, 앞 4자리는 2010 이상 2024 이하임이 보장된다.

출력

김한양이 A+를 받을 수 있으면 첫 번째 줄에 YES를, 아니면 NO를 출력한다.

김한양이 A+를 받을 수 있다면, 다음 줄에 기말고사에서 받아야 하는 최소 점수를 정수로 출력한다.

예제2

  1. 예제 1

    입력
    10 2 50 50
    2024123456 40
    2024123457 45
    2024123458 35
    2024123459 42
    2024123460 38
    2024123461 41
    2024123462 39
    2024123463 44
    2024123464 37
    2024123465 43
    
    예상 출력
    YES
    48
    
  2. 예제 2

    입력
    10 2 50 40
    2024123456 40
    2024123457 48
    2024123458 35
    2024123459 42
    2024123460 38
    2024123461 41
    2024123462 40
    2024123463 44
    2024123464 46
    2023123465 43
    
    예상 출력
    NO