C. Расписание олимпиад
ограничение по времени на тест
1.5 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Персик — акула в мире программирования — решил составить расписание для всех профилей олимпиады Innopolis Open.

В учебном году $$$D$$$ дней, пронумерованных от $$$1$$$ до $$$D$$$. Всего проводится $$$n$$$ олимпиад.

Олимпиады пронумерованы от $$$1$$$ до $$$n$$$ в порядке неубывания запланированной даты проведения. Каждая олимпиада проводится ровно в один день. Для каждой олимпиады известны её запланированная дата проведения и польза для подрастающего поколения.

Вы можете изменить дату проведения каждой олимпиады, но только на более поздний день того же учебного года (то есть новую дату нельзя сделать меньше исходной и нельзя сделать больше $$$D$$$).

После всех изменений олимпиады должны остаться в порядке неубывания даты проведения.

Польза олимпиадного сезона определяется следующим образом. Для каждого дня рассматриваются все олимпиады, проводящиеся в этот день. Если в день запланирована хотя бы одна олимпиада, то польза дня определяется как максимум значений пользы среди олимпиад, проводящихся в этот день. Если в этот день олимпиад нет, польза дня равна $$$0$$$.

Польза сезона равна сумме пользы всех $$$D$$$ дней.

Во благо школьников определите наибольшую возможную пользу сезона.

Входные данные

В первой строке даны три целых числа $$$n$$$, $$$D$$$ и $$$t$$$ — количество олимпиад и количество дней в учебном году, а также тип ответа ($$$1 \le n \le 3 \cdot 10^5$$$; $$$1 \le D \le 2 \cdot 10^9$$$; $$$1 \le t \le 2$$$).

В $$$i$$$-й из следующих $$$n$$$ строк даны два целых числа $$$d_i$$$ и $$$b_i$$$ — запланированная дата (номер дня) проведения и польза $$$i$$$-й олимпиады ($$$1 \le d_i \le D$$$; $$$1 \le b_i \le 2 \cdot 10^9$$$).

Гарантируется, что $$$d_i \le d_j$$$ для всех $$$i$$$ и $$$j$$$, таких что $$$i \lt j$$$.

Выходные данные

Если $$$t = 1$$$, то выведите одно целое число — наибольшую возможную пользу олимпиадного сезона.

Если $$$t = 2$$$, то в первой строке выведите одно целое число — наибольшую возможную пользу олимпиадного сезона; а во второй строке выведите расписание олимпиад — $$$n$$$ целых чисел, $$$i$$$-е из которых является итоговой датой $$$i$$$-й олимпиады. При указанных итоговых датах должна достигаться максимально возможная польза олимпиадного сезона.

Система оценки

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

ГруппаБаллыДоп. ограничения Необходимые группы
110$$$n, D \le 20$$$; $$$b_i \le 20$$$ для всех $$$i$$$; $$$t = 1$$$–
27$$$n, D \le 20$$$; $$$b_i \le 20$$$ для всех $$$i$$$1
311$$$n, D \le 100$$$; $$$b_i \le 100$$$ для всех $$$i$$$1, 2
49$$$n, D \le 800$$$; $$$b_i \le 800$$$ для всех $$$i$$$1, 2, 3
55$$$n, D \le 2500$$$; $$$b_i \le 2500$$$ для всех $$$i$$$; $$$t = 1$$$1
64$$$n, D \le 2500$$$; $$$b_i \le 2500$$$ для всех $$$i$$$1–5
75$$$b_i = b_j$$$ для всех $$$i$$$, $$$j$$$–
85$$$d_i \neq d_j$$$ для всех $$$i$$$ и $$$j$$$, таких что $$$i \neq j$$$–
95$$$d_i = 1$$$ для всех $$$i$$$; $$$t = 1$$$–
105$$$d_i = d_j$$$ для всех $$$i$$$, $$$j$$$9
118$$$D \le 2 \cdot 10^6$$$1–6
1210$$$t = 1$$$1, 5, 9
1316–1–12
Примеры
Входные данные
3 10 1
1 3
1 5
1 2
Выходные данные
10
Входные данные
3 10 2
1 3
1 5
1 2
Выходные данные
10
1 2 3
Входные данные
5 6 2
1 7
2 6
5 8
5 9
6 4
Выходные данные
30
1 3 5 6 6
Примечание

Заметьте, что ответ для второго теста не подойдёт в качестве ответа для первого, так как при $$$t = 1$$$ нужно выводить только одно число.

Во втором примере в предлагаемом ответе польза первого дня равна $$$3$$$, польза второго — $$$5$$$, третьего — $$$2$$$, а пользы дней с $$$4$$$-го по $$$10$$$-й равны $$$0$$$. Таким образом, польза олимпиадного сезона равна $$$3+5+2+0+\ldots+0=10$$$. Заметьте, что расписание олимпиад $$$[2, 1, 3]$$$ невозможно, так как олимпиады должны остаться в порядке неубывания даты проведения.

В третьем примере также подходит расписание олимпиад $$$[1, 2, 5, 6, 6]$$$, но не подходит $$$[1, 2, 3, 5, 6]$$$, так как третья олимпиада не может проходить раньше $$$5$$$-го дня.