#P5059. 生日派对

生日派对

题目背景

小A接到了一份生日派对的蛋糕订单,需要制作一座多层蛋糕塔,每层蛋糕对应不同的味道。为了设计特别的装饰方案,小A需要计算所有层蛋糕上糖霜小球的一个特殊总和——即每两层蛋糕的糖霜小球数量两两相乘后,将所有乘积累加得到的结果。

题目描述

已知蛋糕塔共有 n 层,第 i 层蛋糕上的糖霜小球数量为 a_i(1 ≤ i ≤ n)。要求计算所有满足 1 ≤ i < j ≤ n 的整数对 (i,j) 对应的 a_i × a_j 之和,记为 s。

例如,若层数为4且小球数量分别为2、4、6、8,则总和 s = 2×4 + 2×6 + 2×8 + 4×6 + 4×8 + 6×8。

输入格式

  1. 第一行包含一个整数 n,表示蛋糕塔的层数。
  2. 第二行包含 n 个整数,用空格分隔,依次表示每一层蛋糕上的糖霜小球数量 a₁, a₂, …, aₙ。

输出格式

输出一个整数 s,表示所有两两相乘后累加的总和。

样例输入

4
2 4 6 8

样例输出

140

样例解释

根据样例输入的小球数量 [2, 4, 6, 8],计算过程如下:

  • 2与后续层的乘积:2×4=8,2×6=12,2×8=16
  • 4与后续层的乘积:4×6=24,4×8=32
  • 6与后续层的乘积:6×8=48
  • 总和:8 + 12 + 16 + 24 + 32 + 48 = 140

数据规模与约定

数据范围 n 的范围 a_i 的范围
30% 数据 1 ≤ n ≤ 1000 1 ≤ a_i ≤ 100
100% 数据 1 ≤ n ≤ 200000 1 ≤ a_i ≤ 1000