C. Kevin的“非负共鸣”统计

    传统题 2000ms 256MiB

Kevin的“非负共鸣”统计

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

Kevin 是《元素秘境》游戏的首席设计师。游戏中,每位玩家需要从 火、水、风、地 四种元素中各挑选一张卡牌,如果四张卡牌上的数字之和恰好为 0,就能触发隐藏的“世界共鸣”效果,获得稀有奖励。

为了设计成就系统,Kevin 需要预先知道一共有多少种不同的选法可以触发共鸣。他拿到了四个长度为 n 的整数数组,分别代表四种元素的卡牌数值。看着n=1000 的数据,Kevin 知道用最简单的四层循环来枚举所有组合肯定会超时——服务器可承受不了 101210^{12}次运算。他必须在几天内找到一个更聪明的计数方法,否则游戏上线就会延迟。

夜深了,Kevin 对着屏幕上的四列数字出神,心想:“这组方程一定有某种对称性可以帮我减少枚举次数……” 最终,他设计了一个高效的枚举优化方案,成功在数秒内算出了所有共鸣组合的数量。现在,请你扮演 Kevin,用你的算法知识来解决这个统计问题。

具体来说,给定一个长度为 n 的整数数组 请计算有多少个四元组 (i,j,k,l)(其中 i,j,k,l 各自独立地从 1 到 n 取值)满足:A[i]+A[j]+A[k]+A[l]=0

注意:下标可以重复使用(即同一个位置的元素可在相同数组中分别被选)。

输入格式

输入

第一行:一个整数 n,表示每个数组的长度。

第二行:n 个整数,表示数组 A。

所有数值均为整数,可能为负数。

输出

输出一个整数,表示满足条件的四元组总数。

样例

3
1 -1 0
19

数据范围

1 \leq n \leq 1000, 109-10^9 \leq AiA_i \leq 10910^9

编程素养挑战赛-复赛模拟

未参加
状态
已结束
规则
OI
题目
6
开始于
2026-7-11 9:00
结束于
2026-7-23 21:00
持续时间
300 小时
主持人
参赛人数
12