

Задача на с++
Имеется лента известной длины, на которой записаны цифры от 0 до 9. Требуется разрезать эту ленту на кусочки- числа так, чтобы эти числа образовывали
несколько (одну или больше) убывающих числовых последовательностей, причем
перестановка чисел не допускается. Разрезание происходит по следующему нехитрому алгоритму:
1) Отрезается первое число a1 в последовательности. Оно выбирается максимально близким к заданному числу M, но строго меньше его.
2) Каждое следующее число ai в последовательности выбирается максимально
возможным, но не превосходящим число ai−1.
3) Числа ai отрезаются до тех пор, пока это возможно. Каждое число может
иметь несколько ведущих нулей. Если очередное число отрезать невозможно,
то последовательность заканчивается. Начинается новая убывающая последовательность, и вс`е повторяется заново.
Ваша задача — промоделировать данный процесс и вывести получившиеся после
разрезания последовательности.
Формат входных данных
В первой строке записано число M (10 ≤ M ≤ 105
). В следующей строке записано
число N (1 ≤ N ≤ 105
) — количество символов на числовой ленте. В последней
строке записаны N цифр с числовой ленты.
Формат выходных данных
Для каждой числовой последовательности выведите по одной строке — числа
последовательности, разделенные запятыми.
первой строке записано число M (10 ≤ M ≤ 105). В следующей строке записано число N (1 ≤ N ≤ 105) — количество символов на числовой ленте. В последней строке записаны N цифр с числовой ленты.
Формат выходных данных
Для каждой числовой последовательности выведите по одной строке — числа последовательности, разделенные запятыми.
Пример (standard input):
15
11
12109554302
Пример (standard output):
12,10,9,5
5,4,3,02
0