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

Монети

Монети

Є монети з різними фіксованими номіналами, вираженими у копійках (наприклад, \textbf{3} та \textbf{5} копійок) у достатній кількості. Написати програму COINS, яка: \begin{enumerate} \item визначає, чи можна подати задану суму \textbf{S} (виражену у копійках), користуючись монетами заданих номіналів, \item якщо це можливо, то подає цю суму за допомогою мінімальної кількості монет. \end{enumerate} \InputFile Вхідний файл містить у першому рядку суму \textbf{S} (\textbf{0} ≤ \textbf{S} ≤ \textbf{1000000000}), у другому рядку - \textbf{N} - кількість різних номіналів (\textbf{1} ≤ \textbf{N} ≤ \textbf{20}), а у наступних \textbf{N} рядках - \textbf{A}_\{1 \}… \textbf{A}_\{N \} - номінали (у порядку зростання), які можна використовувати (\textbf{0} < \textbf{A_1} < \textbf{A}_2_\{ \}< ... < \textbf{A_N} ≤ \textbf{1000000000}). \OutputFile Вихідний файл повинен містити у першому рядку знак "\textbf{+}", якщо задану суму \textbf{S} можливо подати, і знак "\textbf{-}", якщо ні. Якщо подання суми існує, то наступні \textbf{N} рядків повинні містити кількості монет кожного номіналу, які потрнужібні для подання суми \textbf{S} за допомого мінімальної кількості монет.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
514
2
3
5
Вихідні дані #1
+
3
101
Автор Сергій Данильченко
Джерело X Всеукраїнська олімпіада з інформатики, 1997 р.