Олимпиадный тренинг

Задача . B. Расстояния до нуля


Задача

Темы: Конструктив *1200

Задан массив a0, a1, ..., an - 1. Для каждого элемента найдите расстояние от него до ближайшего нуля. Гарантируется, что в массиве встречается ноль хотя бы один раз.

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

В первой строке входных данных содержится целое число n (1 ≤ n ≤ 2·105) — длина массива a. Вторая строка содержит элементы массива, записанные через пробел ( - 109 ≤ ai ≤ 109).

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

Выведите последовательность d0, d1, ..., dn - 1. Значение di должно быть равно расстоянию от элемента в позиции i до ближайшей такой позиции j, что aj = 0. Допустимо, что i = j.


Примеры
Входные данныеВыходные данные
1 9
2 1 0 3 0 0 3 2 4
2 1 0 1 0 0 1 2 3
2 5
0 1 2 3 4
0 1 2 3 4
3 7
5 6 0 1 -2 3 4
2 1 0 1 2 3 4

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя