아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Резиновый рюкзак

시간 제한2초메모리 제한1024 MB

요약
고른 물건들의 총 부피에서 V0를 뺀 압력을 모든 물건이 견딜 수 있을 때, 총 가치를 최대로 하는 부분집합을 고른다.
난이도

보통10점 중 7점

유형
동적 계획법, 정렬
정답자
아직 제출이 없습니다

문제

Турист Геннадий готовится к очередному походу. Его старый, видавший виды рюкзак уже износился, да и вещей в него помещается не так уж много. Не стоит и говорить о том, что все возможные задачи об этом рюкзаке он уже прорешал.

Новый рюкзак Геннадия сделан из сверхпрочной резины. Если резину не растягивать, то в этот рюкзак можно положить предметов суммарным объемом не более V_0V\_0 кубических сантиметров. Однако, в этот рюкзак можно положить, запихать или в крайнем случае утрамбовать и больше предметов. Проблема в том, что если суммарный объем предметов будет равен V>V_0V > V\_0, то на все эти предметы будет действовать давление P=V−V_0P = V - V\_0.

Среди различных предметов, которые Геннадий хочет взять в поход, есть прочные, а есть и хрупкие. Например, внешняя клавиатура для ноутбука Геннадия не сможет вынести того же, что выдерживала проверенная годами палатка. Однако, даже хрупкие предметы, как показывает практика, могут быть ценными в походе. Поэтому Геннадий для каждого предмета, помимо занимаемого им объема v_iv\_i, определил его стоимость c_ic\_i как меру того, насколько он хочет взять его в поход, а также вычислил максимальное давление p_ip\_i, которое он может выдержать.

Таким образом, перед Геннадием встала непростая задача --- как выбрать предметы таким образом, чтобы они, находясь все вместе в рюкзаке, смогли выдержать образующееся давление, и при этом стоимость получившегося набора была максимальна?

Геннадий --- турист бывалый, поэтому написанная им программа менее, чем за полсекунды справилась с этой задачей. А вы сможете повторить его достижение?

입력

В первой строке входного файла находятся два целых числа NN (1≤N≤1001 \le N \le 100) и V_0V\_0 (0≤V_0≤1090 \le V\_0 \le 10^9) --- число предметов и начальный объем рюкзака.

Следующие NN строк содержат тройки целых чисел v_iv\_i, c_ic\_i и p_ip\_i --- объем, стоимость и максимальное давление, выдерживаемое ii-тым предметом. 1≤v_i≤10001 \le v\_i \le 1000, 0≤c_i≤1060 \le c\_i \le 10^6, 0≤p_i≤1090 \le p\_i \le 10^9.

출력

В первой строке выходного файла выведите число предметов KK, которые необходимо взять, и максимальную достигнутую стоимость.

Во второй строке выведите KK чисел --- номера предметов, которые необходимо взять. Предметы нумеруются, начиная с единицы, в том порядке, в котором они даны во входном файле.

Если существует несколько вариантов ответа, выведите один из них.

예제2

  1. 예제 1

    입력
    3 10
    3 1 2
    4 1 2
    5 1 2
    
    예상 출력
    3 3
    1 3 2
    
  2. 예제 2

    입력
    3 10
    3 1 1
    4 1 2
    5 1 3
    
    예상 출력
    2 2
    2 3