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

Задача . Making Mexes


Задача

Темы:

Вам дан массив \(a\) из \(N\) неотрицательных чисел \(a_1, a_2, \dots, a_N\) (\(1\le N\le 2\cdot 10^5, 0\le a_i\le N\)). За одну операцию Вы можете изменить любой элемент \(a\) на любое неотрицательное число.

mex массива это минимальное неотрицательное число, которого нет в массиве. Для каждого \(i\) в интервале от \(0\) до \(N\) включительно, вычислите минимальное количество операций, которое Вы должны сделать, чтобы сделать mex массива \(a\) равным \(i\).

ФОРМАТ ВВОДА (с клавиатуры / stdin):

Первая строка содержит \(N\).

Следующая строка содержит \(a_1,a_2,\dots, a_N\).

ФОРМАТ ВЫВОДА (на экран / stdout):

Для каждого \(i\) в интервале от \(0\) до \(N\), выведите минимальное количество операций для \(i\) в новой строке. Заметим, что всегда возможно сделать mex массива \(a\) равным любому \(i\) в интервале от \(0\) до \(N\).


Примеры
Входные данныеВыходные данные
1 4
2 2 2 0
1
0
3
1
2

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

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