Подрыв ветряка
시간 제한1초메모리 제한1024 MB
각 요소에 접근에 필요한 안정성 임계값과 안정성 변화량이 주어질 때, 도달 가능한 최소 안정성과 그 순서를 구한다.
문제
Выбрав сторону Выживших, Эйден решает помочь им с подрывом ветряка фракции Миротворцев. Ветряк обладает определенным значением стабильности, изначально равным . Чем меньше станет его стабильность, тем проще будет его подорвать.
У ветряка также есть ключевых элементов, доступ к -му из которых можно получить только если текущая стабильность ветряка не меньше . При этом, имея доступ к -му ключевому элементу, Эйден может отключить его, тем самым изменив стабильность ветряка ровно на (если отрицательно, то стабильность уменьшается, а если положительно --- увеличивается).
В каждый момент времени Эйден может выбрать любой из ключевых элементов, к которым имеется доступ, и отключить его. Отключать все доступные элементы при этом не обязательно, в любой момент можно остановиться и не трогать оставшиеся элементы. Также обратите внимание, что конечная стабильность может быть отрицательной.
Помогите Эйдену определить, какое минимальное значение стабильности ветряка можно получить, и какие ключевые элементы в каком порядке для этого стоит отключать.
입력
В первой строке ввода через пробел даны два целых числа и --- количество ключевых элементов и изначальное значение стабильности (; ).
В следующих строках перечислены описания ключевых элементов. В -й из них через пробел даны два целых числа и --- порог стабильности, начиная с которого элемент доступен, и изменение стабильности при отключении этого элемента (; ).
Гарантируется, что .
출력
В первой строке выведите через пробел два целых числа и --- минимальную возможную конечную стабильность после отключения каких-то элементов, и сколько элементов нужно отключить для такого результата.
В следующей строке выведите через пробел различных целых чисел от до --- номера ключевых элементов в том порядке, в котором их следует отключать.
Если существует несколько последовательностей отключения, приводящих к минимальной возможной стабильности, выведите любую из них.