排序,然后维护晋级人数和淘汰人数

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int n = scanner.nextInt();
        int x = scanner.nextInt();
        int y = scanner.nextInt();
        int[] array = new int[n];

        for (int i = 0; i < n; i++) {
            array[i] = scanner.nextInt();
        }

        Arrays.sort(array);

        int l = x - 1; // 淘汰人数 l + 1
        int r = n - x; // 晋级人数 n - r

        while (l < r) {
            if (array[l] == array[l + 1])
                l++;
            else if (array[r] == array[r - 1])
                r--;
            else if (n - r < y)
                r--;
            else l++;
        }
        System.out.println(array[r]);
    }
}