등수 구하기

면접 대비

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

요약
용량 제한이 있는 정렬된 점수 목록에서 새 점수의 순위를 구하고, 목록이 가득 차 있고 새 점수가 마지막 점수보다 높지 않으면 -1을 출력합니다.
난이도

쉬움10점 중 3점

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

문제

태수는 한 리듬 게임에서 노래별 랭킹 리스트를 관리한다. 각 리스트에는 현재 점수들이 높은 점수부터 낮은 점수 순서로 저장되어 있다.

랭킹에서 어떤 점수의 등수는 그 점수보다 높은 점수의 개수에 1을 더한 값이다. 같은 점수가 여러 개 있으면 모두 같은 등수를 갖는다. 리스트가 100, 90, 90, 80이라면 각 점수의 등수는 1, 2, 2, 4이다.

랭킹 리스트에 들어갈 수 있는 점수의 최대 개수 P, 현재 저장된 점수 N개, 그리고 태수의 새 점수가 주어진다. 새 점수가 리스트에 들어간다면 몇 등인지 출력하고, 리스트에 들어갈 수 없다면 -1을 출력하라.

리스트가 이미 P개로 가득 찬 경우에는 새 점수가 현재 마지막 점수보다 높을 때만 리스트에 들어갈 수 있다.

입력

첫째 줄에 N, 태수의 새 점수, P가 주어진다.

P는 10 이상 50 이하인 정수이고, N은 0 이상 P 이하인 정수이다. 모든 점수는 0 이상 2,000,000,000 이하인 정수이다.

N이 0보다 크면 둘째 줄에 현재 랭킹 리스트의 점수 N개가 비오름차순으로 주어진다. N이 0이면 둘째 줄은 주어지지 않는다.

출력

태수의 새 점수가 랭킹 리스트에서 차지하는 등수를 출력한다. 랭킹 리스트에 들어갈 수 없다면 -1을 출력한다.

예제4

  1. 예제 1

    입력
    3 90 10
    100 90 80
    
    예상 출력
    2
    
  2. 예제 2

    입력
    10 1 10
    10 9 8 7 6 5 4 3 2 1
    
    예상 출력
    -1
    
  3. 예제 3

    입력
    10 1 10
    10 9 8 7 6 5 4 3 3 0
    
    예상 출력
    10
    
  4. 예제 4

    입력
    0 0 50
    
    예상 출력
    1