#ACM0084. 逆序对

逆序对

题目描述

小L最近在复习逆序对的概念,需要统计一个序列中逆序对的数量。逆序对的定义是:对于序列中两个元素 aia_iaja_j,如果 i<ji \lt jai>aja_i \gt a_j(i,j)(i, j) 构成一个逆序对。两个逆序对只要下标不同(即 i1i2i_1 \neq i_2j1j2j_1 \neq j_2),就视为不同的逆序对。

输入格式

第一行输入一个整数 n (2n106)n\ (2 \leq n \leq 10^6),表示序列的长度。

第二行输入 nn 个整数,第 ii 个数表示 ai (1ai30)a_i\ (1 \leq a_i \leq 30)

输出格式

输出序列中逆序对的总数量。

输入输出样例 #1

输入 #1

4
3 3 2 1

输出 #1

5

说明/提示

该序列中的逆序对为:

(1,3)(1, 3)(1,4)(1, 4)(2,3)(2, 3)(2,4)(2, 4)(3,4)(3, 4),共 55 个。