- Описание
- Отправленные решения
13. Красота требует жертв
Есть набор из вещей, у которых есть определенные характеристики. Для каждой вещи помимо характеристик известен факт ее наличия в магазине, а также цена . У вас есть бурлей на покупку вполне конкретной вещи, но может оказаться так, что ее нет в наличии или она вам не по карману. Найдите 5 кандидатов, имеющихся в наличии и подходящих по стоимости, при этом наиболее похожих на нужную вещь. Похожесть между вещами и определим как Евклидово расстояние между ними.
Вам будет задано запросов вида , , где это номер нужной вам вещи, а количество бурлей в ваших карманах. Если нужная вам вещь подходит по стоимости и есть в наличии, выведите ее номер, в противном случае выведите ровно 5 кандидатов, подходящих под условие задачи.
Гарантируется, что всегда есть хотя бы 5 вещей, подходящих под требуемые условия.
Формат ввода
Открытый файл с описанием вещей содержит следующие данные. В первой строчке задается , количество вещей в магазине. Далее идут строк с описаниями вещей вида , , , где признак наличия вещи в магазине, --- стоимость вещи, определенные характеристики вещи, .
В отдельном файле с примерами запросов и ответов на них содержатся строки вида , , либо , , в зависимости от того, подходит ли под условие запрашиваемая вещь. Здесь , , . Эти данные нужны для проверки вашего решения.
В закрытом файле, на котором будет тестироваться ваша программа, в первой строчке задаются два числа , и , разделенные пробелами, где количество вещей в магазине, а количество запросов. Далее идут строк с описаниями вещей вида , где признак наличия вещи в магазине, стоимость вещи, определенные характеристики вещи, . После чего идут строк вида , , , .
Формат вывода
Ваша программа должна вывести ответы на запросов: в первой строке выведите количество найденных вещей (), во второй строке необходимо вывести либо индекс вещи, если она в наличии и её стоимость меньше либо равна сумме, имеющейся у вас, либо ровно пять индексов подходящих под это условие вещей, разделённых пробелами. Порядок вещей в списке может быть любым.
Для удобства индексы вещей нумеруются с нуля. В случае, когда больше пяти вещей подходят под условие, вы можете вывести любые пять из них.
В результате работы ваша программа должна предложить такие объекты, что среднее Евклидово расстояние от них до исходной вещи не должно превышать ответ жюри более чем в два раза для каждого запроса.
Примечание
https://disk.yandex.ru/d/g9VIKdbAneh6Fw - ссылка на файл с открытыми примерами данных.
https://disk.yandex.ru/d/vabElRMn4VDFZg - ссылка на файл с открытыми примерами запросов и ответов.
Ограничения
Ограничение времени
5 с
Ограничение памяти
256 МБ