Codeforces Round 111 (Div. 2) |
---|
Закончено |
Перед Вами очередная задача на массивы. Рассмотрим произвольную последовательность из n (не обязательно различных) целых чисел a1, a2, ..., an. Нас будут интересовать всевозможные пары чисел (ai, aj), (1 ≤ i, j ≤ n). Другими словами, рассмотрим все n2 пар чисел, выбранных из заданного массива.
Например, в последовательности a = {3, 1, 5} существует 9 пар чисел: (3, 3), (3, 1), (3, 5), (1, 3), (1, 1), (1, 5), (5, 3), (5, 1), (5, 5).
Отсортируем лексикографически все полученные пары по неубыванию. Напомним, что пара (p1, q1) лексикографически меньше пары (p2, q2) тогда и только тогда, когда либо p1 < p2 либо p1 = p2 и q1 < q2.
Тогда отсортированная последовательность, упомянутая выше, будет выглядеть следующим образом: (1, 1), (1, 3), (1, 5), (3, 1), (3, 3), (3, 5), (5, 1), (5, 3), (5, 5)
Пронумеруем пары в отсортированном списке от 1 до n2. Ваша задача формулируется следующим образом: нужно найти k-ую пару в упорядоченном списке всевозможных пар заданного вам массива.
В первой строке заданы два целых числа n и k (1 ≤ n ≤ 105, 1 ≤ k ≤ n2). Во второй строке задан массив из n целых чисел a1, a2, ..., an ( - 109 ≤ ai ≤ 109). Числа в массиве могут совпадать. Все числа разделены пробелами.
Пожалуйста, не используйте спецификатор %lld для чтения или записи 64-х битовых чисел на С++, вместо него рекомендуется использовать потоки cin, cout, а также спецификатор %I64d.
В единственной строке выведите два числа — искомую k-ую пару.
2 4
2 1
2 2
3 2
3 1 5
1 3
В первом примере отсортированная последовательность для заданного массива выглядит следующим образом: (1, 1), (1, 2), (2, 1), (2, 2). 4-ой среди них является пара (2, 2).
Отсортированная последовательность для массива из второго примера приведена в условии. 2-ой парой в ней является (1, 3).
Название |
---|