Олимпиадный тренинг

Задача . C. Успеть все


В далекой-далекой галактике студент Леша узнал, что через два дня у него экзамен. Так получилось, что за весь год он ни разу не сходил на занятия. Леша не отчаялся и решил рационально распределить оставшееся время до экзамена на подготовку.

Он знает, что сегодня у него осталось \(a\) часов свободного времени, а завтра он сможет готовиться в течение \(b\) часов. Обратите внимание, что на планете, где живет Леша, в дне может быть гораздо больше часов, чем в земном. Качество подготовки к экзамену зависит только от количества конспектов, которые Леша успеет прочитать. У Леши есть доступ к бесконечному количеству конспектов, но он знает, что первый конспект он прочитает за час, второй конспект за два часа и так далее, то есть Леша может прочитать конспект с номером \(k\) за \(k\) часов. Леша может читать конспекты в произвольном порядке, но он не может начать читать конспект в первый день, а дочитать во второй день.

Таким образом, Леша должен прочитать несколько конспектов целиком в первый день, затратив на это не более \(a\) часов суммарно, и несколько конспектов целиком во второй день, затратив на это не более \(b\) часов. Сколько максимум конспектов успеет прочитать Леша за оставшееся время до экзамена? Какие конспекты он должен читать в первый день, а какие — во второй?

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

Единственная строка входных данных содержит два целых числа: \(a\) и \(b\) (\(0 \leq a, b \leq 10^{9}\)) — количество часов, которое Леша может потратить на подготовку к экзамену сегодня, и количество часов, в течение которых Леша может готовиться завтра.

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

В первой строке выведите единственное целое число \(n\) (\(0 \leq n \leq a\)) — количество конспектов, которые Леша должен прочитать в первый день. Во второй строке выведите \(n\) целых различных чисел \(p_1, p_2, \ldots, p_n\) (\(1 \leq p_i \leq a\)), сумма всех \(p_i\) должна быть не больше \(a\).

В третьей строке выведите единственное целое число \(m\) (\(0 \leq m \leq b\)) — количество конспектов, которые Леша должен прочитать во второй день. В четвертой строке выведите \(m\) целых различных чисел \(q_1, q_2, \ldots, q_m\) (\(1 \leq q_i \leq b\)), сумма всех \(q_i\) должна быть не больше \(b\).

Среди всех чисел \(p_i\) и \(q_i\) не должно быть пары совпадающих чисел. Сумма \(n + m\) должна быть максимально возможной.

Примечание

В первом примере Леша в первый день должен прочитать третий конспект за \(3\) часа, а во второй день должен прочитать первый и второй конспекты за один и два часа соответственно, потратив \(3\) часа на подготовку. Обратите внимание, что Леша может сделать наоборот, то есть прочитать в первый день первый и второй конспекты, а во второй день прочитать третий конспект.

Во втором примере Леша в первый день прочитает третий и шестой конспект, потратив на это \(9\) часов. Во второй день Леша читает первый, второй, четвертый и пятый конспект за \(12\) часов суммарно.


Примеры
Входные данныеВыходные данные
1 3 3
1
3
2
2 1
2 9 12
2
3 6
4
1 2 4 5

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя