Задача #467
Сортировка
(А. Игнатюк) Безумный шляпник из страны чудес составлял свой безумный отчет, в котором он зашифровал цены различных товаров. Отчет представлен следующим образом:
7
13 600 700
17 300 400
23 250 800
27 550 200
30 750 350
37 900 200
42 850 170
Число в первой строке обозначает количество позиций в отчете, каждая из которых имеет свой уникальный номер ID, равный первому числу в последующих строках. Второе и третье число обозначают цену на товары, ID которых отличаются от прописанного в текущей строке на -10 и +10, соответственно. Если к ID одного товара можно прийти несколькими способами, в таком случае стоит взять цену, которая встретилась в файле раньше для этого ID. Если подходящего под условия ID не нашлось, значит товара нет в продаже. Необходимо определить:
А) Какое наибольшее количество имеющихся товаров можно закупить, при условии, что цена каждого следующего купленного товара должна отличатся не менее, чем на 50+R, где R - порядковый номер товара в корзине в случае его покупки. Нумерация всех товаров в чеке начинается с 1.
Б) Какая наименьшая цена возможна у купленного товара.
Известно, что условия А и Б должны быть выполнены одновременно, кроме того необходимо покупать товары в порядке возрастания их цен.
Приведем решение для примера выше. По имеющимся данным можно сказать о цене товаров c ID, равными 13, 17, 23, 27 и 37, стоят которые будут 250, 550, 700, 400 и 200, соответственно. Из имеющихся товаров, согласно условию, можно купить товары с ценами 200, 400, 550 и 700. Таким образом, можно купить 4 товара, а минимальная цена у купленного товара равно 200. Ответ: 4 200