ГлавнаяСборникиТурнирыРазделыФорумыУчастникиПечатьПомощьО системе

Разделы > 103. Динамическое программирование > задача:


Макс и бельевая верёвка

Задачи раздела

• Демоническое программирование
• ЕГЭ — B1
• Ежевика
• Жадина
• Игра с разрезанием
• Количество путей
• Макс и Дом интернета
• Макс и бельевая верёвка
• Наибольшая возрастающая подпос...
• Наибольшая общая подпоследова...
• Непрерывный рюкзак
• Несчастливые дни
• Подотрезок с максимальной суммой
• Распределение студентов
• Странная функция
• Экзаменационные билеты

Обратная связь

Если у вас есть предложения или пожелания по работе Contester, посетите форум сайта www.contester.ru.

Лимит времени 2000/2000/2000/2000 мс. Лимит памяти 65536/65536/65536/65536 Кб.

Макс и бельевая верёвка
Макс и бельевая верёвка
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
64 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Наступила тёплая погода, и Макс собрался повесить на балконе верёвку, чтобы на ней можно было сушить бельё после стирки.

Балкон Макса имеет длину W. У Макса есть N верёвок, i-я из которых имеет длину Ai. Макс может при необходимости связывать некоторые из имеющихся верёвок вместе, но не хочет их резать.

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

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

Первая строка содержит целые числа W и N (1 ≤ W ≤ 105, 1 ≤ N ≤ 1000) — соответственно длину балкона и количество имеющихся верёвок.

Вторая строка содержит N целых чисел Ai (1 ≤ Ai ≤ 1000) — длины каждой из верёвок.

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

Если из имеющихся верёвок можно связать верёвку длины W, в первой строке выведите целое число K — количество верёвок, которые нужно связать.

Во второй строке выведите K целых чисел — номера верёвок, которые нужно связать. Верёвки нумеруются от 1 до N в порядке описания во входных данных.

Если возможных ответов несколько, выведите любой.

Если верёвку длины W получить невозможно, выведите одно число -1.

Примеры

Входные данные
13 4
6 5 3 2
Выходные данные
3
4 2 1
Входные данные
18 4
6 5 3 2
Выходные данные
-1

Для отправки решений необходимо выполнить вход.

www.contester.ru