День рождения
시간 제한2초메모리 제한512 MB
초대한 친구 수 k에 대해 1인당 부담금 S/(k+1)이 각 초대된 친구의 허용 범위에 들어가도록 부분집합을 골라 총 재미를 최대로 만든다.
문제
У Коли сегодня день рождения! По этому случаю он решил после олимпиады сходить с друзьями в парк аттракционов. И какая удача --- можно купить групповой билет сразу на всех, всего за рублей!
Конечно, скидываться придется всем поровну. То есть, если Коля позовет своих друзей, то каждому придется заплатить \(S / (k + 1)\) рублей (да, сам Коля тоже должен внести свою долю). При этом не обязательно должно делиться на : главное --- купить билет, а между собой друзья уж как-нибудь договорятся.
Всего у Коли друзей, при этом -й из них готов пойти с Колей в парк, если доля, которую ему придется заплатить не больше (больше денег у него просто с собой нет) и не меньше (иначе он решит, что Колин день рождения --- это скучно, и пойдет играть в волейбол с Сережей).
Так что может так получиться, что всех позвать не удастся. Ну и ладно. Для каждого своего друга Коля знает число --- количество веселья, который тот произведет, если его позвать.
Помогите Коле выбрать подмножество друзей, которых Коля должен позвать с собой, чтобы максимизировать суммарное веселье.
입력
В первой строке входного файлы содержится два целых числа: и (, ) --- количество друзей Коли и стоимость билета. В следующих строках содержится по три целых числа: в -й из этих строк находятся числа , и (, ). Они означают, что -го друга можно позвать на вечеринку, если доля, которую ему придется заплатить, лежит между и , и он произведет веселья.
출력
В первой строке выходного файла выведите два числа: (количество приглашенных на вечеринку друзей) и (максимальное суммарное веселье, которое можно получить). Во второй строке выведите чисел --- номера друзей, которых нужно пригласить.