Задача №113346. Обмен валюты
Феоктист работает в обменном пункте на границе Флатландии и Байтландии. Каждый день он узнает по радио текущий курс обмена Флатландских флатов на Байтландские биты и вывешивает информацию об обменном курсе на дверях своего пункта.
В распоряжении Феоктиста есть \(n\) табличек, на которых записаны числа \(c_1, c_2, \dots , c_n\). Узнав сегодняшний курс обмена \(p\), Феоктист выбирает две таблички с значениями \(c_i\) и \(c_j\) , такими, чтобы значение \(c_i/c_j\) было как можно ближе к \(p\), и вывешивает их на двери, формируя таким образом объявление «меняю \(c_i\) флатов на \(c_j\) битов». Задача не из легких, и Феоктист решил её автоматизи- ровать.
Помогите Феоктисту по заданному курсу \(p\) найти две соответствующие таблички.
В первой строке входного файла заданы два целых числа \(n\) и \(p\) (\(2 \le n \le 100 000, 1 \le p \le 10^9\) ) — число табличек и текущий курс. Вторая строка содержит \(n\) целых чисел \(c_i\) (\(1 \le c_i \le 10^9\) ) — числа, записанные на табличках.
Выведите два целых числа \(i\) и \(j\) (\(1 \le i, j \le n, i \ne j\)) — номера двух табличек, таких что величина \(|(c_i/c_j ) − p|\) минимальна. Если таких пар несколько, то вы можно вывести любую из них.
3 2 1 6 3
2 3
4 3 2 3 4 5
4 1