CF992A.Nastya and an Array

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Nastya owns too many arrays now, so she wants to delete the least important of them. However, she discovered that this array is magic! Nastya now knows that the array has the following properties:

  • In one second we can add an arbitrary (possibly negative) integer to all elements of the array that are not equal to zero.
  • When all elements of the array become equal to zero, the array explodes.

Nastya is always busy, so she wants to explode the array as fast as possible. Compute the minimum time in which the array can be exploded.

输入格式

The first line contains a single integer nn ( 1<=n<=1051<=n<=10^{5} ) — the size of the array.

The second line contains nn integers a1,a2,...,ana_{1},a_{2},...,a_{n} ( 105<=ai<=105-10^{5}<=a_{i}<=10^{5} ) — the elements of the array.

输出格式

Print a single integer — the minimum number of seconds needed to make all elements of the array equal to zero.

输入输出样例

  • 输入#1

    5
    1 1 1 1 1
    

    输出#1

    1
    
  • 输入#2

    3
    2 0 -1
    

    输出#2

    2
    
  • 输入#3

    4
    5 -6 -5 1
    

    输出#3

    4
    

说明/提示

In the first example you can add 1-1 to all non-zero elements in one second and make them equal to zero.

In the second example you can add 2-2 on the first second, then the array becomes equal to [0,0,3][0,0,-3] . On the second second you can add 33 to the third (the only non-zero) element.

首页