printРабочее место участника

printЗадачи

1786. Как стать призером

Ограничения: время – 2s/4s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

К тренеру на занятия по подготовке к олимпиаде ходит `N` школьников. Для каждого из школьников заданы два параметра: начальный условный опыт `A_i` и условный интеллект `B_i`.
Каждое занятие устроено так: тренер подходит к какому-нибудь школьнику и обсуждает с ним возникшие вопросы и проблемы. В результате такого обсуждения условный опыт этого школьника возрастает на `B_i` (то есть чем выше условный интеллект школьника, тем больше этот школьник может взять из общения с тренером).
За все время подготовки к олимпиаде тренер может подойти ко всем школьникам суммарно не более `C` раз (он может подходить к разным школьникам, может несколько раз подходить к одному и тому же школьнику). Для того, чтобы школьник стал призером олимпиады, к началу олимпиады его условный опыт должен быть не меньше, чем `K`.
Напишите программу, которая вычислит максимальное количество призеров олимпиады, которое сможет подготовить тренер.
Сначала вводятся натуральные числа `N`, `C`, `K`, задающие количество школьников, количество подходов, которые может сделать учитель, и условный опыт, необходимый, чтобы стать призером олимпиады, соответственно (`1\ ≤\ N\ ≤\ 10^5`, `1\ ≤\ C\ ≤\ 10^9`, `1\ ≤\ K\ ≤\ 10^9`). Далее идет `N` пар целых неотрицательных чисел `A_i`, `B_i`, задающих начальный условный опыт и условный интеллект каждого школьника. Каждое из чисел `A_i` и `B_i` не превышает `10^9`.
Выведите одно число – наибольшее количество призеров олимпиады, которое успеет подготовить тренер.

Пример ввода 1

3 5 6
1 1
2 1
4 2

Пример вывода 1

2

Пример ввода 2

4 10 3
0 1
0 1
0 2
2 0

Пример вывода 2

3
Источник: Московская открытая олимпиада школьников по программированию, 2010/11 учебный год
loading