#S8U06P03. 两两乘积和

两两乘积和

两两乘积和

难度:T2

【知识点:代数变形用于算法】

前置知识:本单元此前讲解的状态、边界与实现。

题目描述

从给定数组中选两个不同位置,把这两个位置上的数相乘,求所有无序位置对的乘积之和。每对位置只计一次,值相同但位置不同仍可配对。

输入格式

输入nn,随后nn个整数aia_{i}。

输出格式

输出所有满足 i<ji<j 的乘积 aiaja_i a_j 之和,每个无序下标对只算一次。

数据范围

1≤n≤1000001\le n\le 100000,∣ai∣≤100|a_{i}|\le 100。

样例输入

1
-3

样例输出

0

样例输入 2

4
-1 2 3 0

样例输出 2

1

样例说明 2

非零乘积为 −2,−3,6-2,-3,6,其余三对乘积为零,总和为 11。