eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Монетки

Монетки

В Волшебной стране используются монетки достоинством a1, a2, ..., Am. Волшебный человечек пришел в магазин и обнаружил, что у него есть ровно по две монетки каждого достоинства. Ему нужно заплатить сумму n. Напишите программу, определяющую, сможет ли он расплатиться без сдачи.

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

В первой строке записаны числа n (1n109) и m (1m16). Во второй строке записано m попарно различных чисел a1, a2, ..., am (1ai107).

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

Выведите наименьшее количество монет k, которое придется отдать Волшебному человечку, если он сможет заплатить указанную сумму без сдачи. Если без сдачи не обойтись, то выведите одно число 0. Если же у Волшебного человечка не хватит денег, чтобы заплатить указанную сумму, выведите одно число -1.

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
5 2
1 2
Выходные данные #1
3
Входные данные #2
7 2
1 2
Выходные данные #2
-1
Входные данные #3
5 2
3 4
Выходные данные #3
0