원교수님 A+ 주세요

면접 대비

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

요약
중간고사 점수와 다른 학생의 기말 예측 점수가 주어질 때, 김한양이 2024 학번 학생 중 상위 M등 안에 들기 위해 필요한 기말고사 최소 점수를 구한다.
난이도

보통10점 중 4점

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

문제

김한양은 원교수님의 과목에서 처참한 중간고사 성적을 받은 뒤, 원교수님의 학점을 예측하는 프로그램을 제작하기로 마음먹었다.

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

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

각 학생의 등수는 ((해당 학생의 점수보다 더 점수가 높은 학생의 수)+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번 학생의 학번과 중간고사 점수 s_is\_i가 공백으로 구분되어 주어진다. (0≤s_i≤X)(0 \le s\_i \le X)

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

출력

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

김한양이 A+를 받을 수 있다면, 다음 줄에 김한양이 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