Supermarket#5754

Supermarket

1 секунда
64 мегабайти
Дуже легка

Супермаркет має набір товарів , виставлених на продаж. За кожний товар x \in \textbf{Prod}, проданий не пізніше свого дедлайну d_x (де дедлайн вимірюється у цілих одиницях часу з моменту початку розпродажу), магазин отримує прибуток p_x. На продажу кожного товару потрібно рівно одну одиницю часу.

Графік продажу — це впорядкована підмножина товарів Sell \subseteq Prod, така, що кожний товар x \in Sell (у порядку в ) продається не пізніше строку d_x (тобто його продаж має закінчитись не пізніше, ніж у момент d_x). Прибуток за графіком продажу дорівнює \text{Profit}(Sell) = \sum_{x \in Sell} p_x. Оптимальний графік продажу — це графік, що дає максимальний можливий прибуток.

Наприклад, розглянемо набір \textbf{Prod} = \{a, b, c, d\} з (p_a, d_a) = (50, 2), (p_b, d_b) = (10, 1), (p_c, d_c) = (20, 2) і (p_d, d_d) = (30, 1). Можливі графіки продажу наведено у таблиці (не надається). Наприклад, графік Sell = \{d, a\} означає, що продаж товару починається у момент і закінчується у момент , а продаж товару починається у момент і закінчується у момент . Обидва товари продані вчасно. Це оптимальний графік, і його прибуток становить .

Напишіть програму, що читає набори товарів з вхідного текстового файлу і обчислює максимальний прибуток оптимального графіку продажу для кожного набору.

Вхідні дані

Кожен набір товарів починається з цілого числа 0 \le n \le 10\,000 — кількості товарів, після чого йде пар p_i, d_i цілих чисел (1 \le p_i \le 10\,000, 1 \le d_i \le 10\,000) — прибуток і дедлайн продажу -го товару. Пробіли у вході можуть бути довільними. Вхід складається з декількох таких наборів і завершується кінцем файлу. Всі вхідні дані гарантовано коректні.

Вихідні дані

Для кожного набору виведіть максимальний прибуток оптимального графіку продажу у окремому рядку.

Приклади

Приклад 1

Loading
Loading