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

Задача . A. Настя и массив


Последнее время у Насти стало слишком много массивов, поэтому она решила удалить самый ненужный из них. Неожиданно самый ненужный массив оказался волшебным! Настя выяснила, что он обладает следующими свойствами:

  • За одну секунду можно прибавить любое (возможно, отрицательное) число ко всем элементам массива, не равным нулю.
  • В тот момент, когда все элементы массива становятся равны нулю, массив взрывается.

Настя, будучи очень занятой особой, хочет как можно быстрее взорвать массив. Найдите минимальное время, необходимое для взрыва массива.

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

Первая строка содержит одно целое число n (1 ≤ n ≤ 105) — размер массива.

Вторая строка содержит n целых чисел a1, a2, ..., an ( - 105 ≤ ai ≤ 105) — элементы массива.

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

Выведите одно число — минимальное количество секунд, требуемое для того, чтобы сделать все элементы массива равными нулю.

Примечание

В первом тесте можно сделать все элементы равными нулю за одну секунду — добавить ко всем элементам  - 1.

Во втором тесте на первой секунде можно добавить  - 2. Таким образом, массив примет вид [0, 0,  - 3]. На второй секунде добавим 3 к третьему (единственному ненулевому) элементу.


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

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

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