Type: Default 1000ms 256MiB

可爱兔子

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

多可爱的兔子啊!小AA的农场里有许多可爱的兔子,每只兔子都有一个数字 a1,a2,a3,,ana_1, a_2, a_3, \dots, a_n。不同的兔子可能有相同的数字。小AA认为这些兔子的可爱值是所有数字的乘积 a1×a2×a3××ana_1 \times a_2 \times a_3 \times \dots \times a_n。有一天,他想改变可爱值,于是他恰好带走一只兔子,使得新的可爱值与原来不同。

AA想知道,有多少种不同的新可爱值可能出现?

输入描述

第一行输入一个整数 nn2n1052 \leq n \leq 10^5),表示兔子的数量。

第二行输入 nn 个整数 aia_i109ai109-10^9 \leq a_i \leq 10^9),表示每只兔子的数字。

输出描述

输出一个整数,表示移除恰好一只兔子后,可能出现的不同新可爱值的数量(要求新可爱值必须与原可爱值不同)。

样例1

输入:

3  
3 4 5  

输出:

3  

样例2

输入:

4  
1 1 2 2  

输出:

1  

样例解释

第一个样例:

原可爱值为 3×4×5=603 \times 4 \times 5 = 60

带走33后,新可爱值为 4×5=204 \times 5 = 20

带走44后,新可爱值为 3×5=153 \times 5 = 15

带走55后,新可爱值为 3×4=123 \times 4 = 12

因此,共有33种不同的新可爱值。

第二个样例:

原可爱值为 1×1×2×2=41 \times 1 \times 2 \times 2 = 4

移除第一个1后,新可爱值为 1×2×2=41 \times 2 \times 2 = 4(与原相同,不计入);

移除第二个1后,结果同上;

移除第一个2后,新可爱值为 1×1×2=21 \times 1 \times 2 = 2(不同,计入);

移除第二个2后,结果同上。

因此,只有1种不同的新可爱值。

限制与约定

对于 40%40\% 的数据,保证 1n10 1 \le n \le 10 , 10ai10 -10 \le a_i \le 10

对于 100%100\% 的数据,保证 1n105 1 \le n \le 10^5 , 109ai109 -10^9 \le a_i \le 10^9

  • 时间限制: 1s1 s
  • 空间限制: 256MB256 MB

竞赛A班5.11日

Not Attended
Status
Done
Rule
IOI
Problem
7
Start at
2025-5-11 14:00
End at
2025-5-18 14:00
Duration
168 hour(s)
Host
Partic.
5