Собесов

Backend Яндекса — два подмножества с одинаковой суммой (meet in the middle)

АлгоритмыMeet in the middleСложнаяSenior

Условие

Дано N = 40 десятизначных чисел (то есть числа порядка 10^9..10^10). Нужно найти два непустых непересекающихся подмножества с одинаковой суммой.

Формат ввода

В первой строке N чисел через пробел.

Формат вывода

4 строки: для каждого из двух множеств — мощность, затем сами индексы (1-based) элементов.

Пример

Ввод (40 чисел):
1000000000 1000000002 1000000003 2000000005 1000000099 1000000099
1000000099 1000000099 1000000099 1000000099 1000000000 1000000002
1000000003 2000000005 1000000099 1000000099 1000000099 1000000099
1000000099 1000000099 1000000000 1000000002 1000000003 2000000005
1000000099 1000000099 1000000099 1000000099 1000000099 1000000099
1000000000 1000000002 1000000003 2000000005 1000000099 1000000099
1000000099 1000000099 1000000099 1000000099

Вывод:
10
3 4 10 11 16 21 23 27 28 38
10
1 12 14 15 19 22 29 32 39 40

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти