K번째 수를 찾는 함수

시간 제한0.2초메모리 제한512 MB

요약
최대 500만 개의 정수 배열과 1-based K가 주어집니다. 배열을 오름차순으로 정렬했을 때 K번째 원소를 반환합니다.
난이도

보통10점 중 4점

유형
정렬, 완전 탐색
정답자
아직 제출이 없습니다

문제

크기가 NN인 수열 A1,A2,…,ANA_1, A_2, \dots, A_N이 주어진다. AA를 오름차순으로 정렬했을 때 앞에서부터 KK번째에 있는 수를 반환하는 함수를 작성하시오.

작성해야 하는 함수는 다음과 같다. NN은 n, AA는 a, KK는 k로 주어진다.

  • C, C11, C (Clang), C11 (Clang): int kth(int *a, int n, int k);
  • C++, C++11, C++14, C++17, C++ (Clang), C++11 (Clang), C++14 (Clang), C++17 (Clang): int kth(std::vector<int> &a, int k);
  • Java, Java (OpenJDK): int kth(int[] a, int k); (클래스 이름: Test)
  • PyPy2, PyPy3: def kth(a: list, k : int) -> int
  • Go: kth(a []int, k int) int

제한

  • 1≤N≤5 000 0001 \le N \le 5\,000\,000
  • 1≤K≤N1 \le K \le N
  • −109≤Ai≤109-10^9 \le A_i \le 10^9

예제1

  1. 예제 1

    입력
    1
    0
    1
    
    예상 출력
    0