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

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

Продукты в экспедиции

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

요약
c명이 각 식품의 유통기한 t_i 안에 k_i개를 모두 먹을 수 있는 식품 종류를 최대한 많이 골라 그 개수와 번호를 출력한다.
난이도

보통10점 중 7점

유형
그리디, 정렬, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

Ученые планируют набор продуктов для экспедиции на Марс. Планируется, что запас экспедиции будет состоять из nn типов продуктов, пронумерованных целыми числами от 11 до nn. У экспедиции будет k_ik\_i порций продуктов ii-го типа. Продукт ii-го типа должен быть использован на протяжении t_it\_i дней после начала экспедиции, после чего портится. Если за t_it\_i дней не все порции продукты ii-го типа съедены, то все оставшиеся порции этого продукта уничтожаются.

В экспедицию планируют направить cc участников. Каждый день участники экспедиции выбирают любые cc имеющихся у них порций и съедают их. Разные участники экспедиции могут есть как одинаковые, так и различные типы продуктов.

Отдел планирования снабжения хочет понять, насколько избыточен набор продуктов, запланированный для экспедиции. Они хотят выяснить, какое максимальное различное количество типов продуктов участники экспедиции смогут полностью съесть в процессе экспедиции, не допустив уничтожения ни одной их порции продукта этого типа.

Требуется написать программу, которая по описанию продуктов и количеству участников экспедиции определяет максимальное количество типов продуктов, которые могут быть полностью съедены в процессе экспедиции.

입력

В первой строке два целых числа nn и cc --- количество типов продуктов и количество участников экспедиции (1≤n≤2⋅1051 \leq n \leq 2 \cdot 10^5, 1≤c≤1091 \leq c \leq 10^9).

В следующих nn строках находится по два целых числа t_it\_i, k_ik\_i --- время, за которое портятся продукты ii-го типа, и количество порций продукта ii-го типа (1≤t_i≤1091 \leq t\_i \leq 10^9, 1≤k_i≤10181 \leq k\_i \leq 10^{18}).

출력

Сначала выведите единственное целое число ss (0≤s≤n0 \leq s \leq n) --- максимальное количество типов продуктов, которые могут быть полностью съедены в процессе экспедиции. В следующей строке выведите ss целых чисел p_1,p_2,…,p_sp\_1, p\_2, \ldots, p\_s (1≤p_i≤n1 \leq p\_i \leq n, все p_ip\_i различны) --- номера типов продуктов.

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

예제3

  1. 예제 1

    입력
    1 1
    4 4
    
    예상 출력
    1
    1
    
  2. 예제 2

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

    입력
    3 2
    2 6
    4 9
    1 3
    
    예상 출력
    0