Ограничения: время – 250ms/500ms, память – 512MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Джейк должен наполнить бассейн водой из емкостей, стоящих на краю бассейна.
Емкости вмещают разный объем воды и вода в них имеет разную температуру. Джейк хочет,
чтобы бассейн был наполнен не менее чем наполовину, но также вода не должна вылиться из
бассейна из-за переполнения. С другой стороны, Джейк хочет, чтобы температура воды в
бассейне, получившаяся в результате смешивания, была как можно ближе к некоторой желательной
температуре `T` и отличалась от `T` не более чем на 5 градусов. Чтобы не запутаться в
вычислениях, Джейк выливает воду из только емкостей, стоящих подряд.
Напишите программу, которая поможет выбрать Джейку выбрать ряд емкостей для выливания в бассейн.
Формат ввода
Первая строка ввода содержит два целых числа — объем бассейна `V` (`100\ ≤\ V\ ≤\ 10000`) и
желаемую температуру `T` (`1\ ≤\ T\ ≤\ 100`). Вторая строка ввода содержит одно
число `N` (`1\ ≤\ N\ ≤\ 3000`) – количество емкостей. Далее следует `N` содержащих по два
целых числа — объем емкости `v_i` (`1\ ≤\ v_i\ ≤\ 1000`) и температуру воды в
ней `t_i` (`1\ ≤\ t_i\ ≤\ 100`).
Формат вывода
Вывести два целых числа — начальный и конечный номера емкостей, которые нужно вылить
Джейку. Если заполнить бассейн для указанных выше ограничений
невозможно, то вывести одно число `-1`. Если существует несколько вариантов,
минимизирующих разницу с желательной температурой `T`, то можно вывести любой из них.
Пример ввода 1
200 19
5
45 23
20 41
67 22
109 11
9 56
Пример ввода 2
100 20
3
10 20
70 50
15 100
Примечание к примеру 1: Суммарный объем емкостей со 2 по 4 равен 20+67+109=196,
а результирующая температура будет равна (20*41+67*22+109*11)/196=17.821.