#d1204. XOR Inverse

XOR Inverse

XOR Inverse

题目描述

给你一个有 nn 个非负整数组成的数组 aa ,你需要选择一个非负整数 xx,对数组 aa 的每一个 aia_i 与 xx 进行异或后形成新的数组 bb,要求 bb 数组的逆序对个数最小,如果有多个 xx 满足条件,输出最小的 xx。

一个逆序对指 bb 数组内对于整数 i,ji,j 满足条件 1≤i<j≤n1\leq i < j \leq n 且 bi>bjb_i > b_j 。

输入格式

第一行一个正整数 nn 。

接下来一行 nn 个非负整数 a1,a2,…,ana_1,a_2,\dots,a_n。

输出格式

两个数:bb 数组的最小逆序对数和此时 xx 的最小值。

样例输入 1

4
0 1 3 2

样例输出 1

1 0

样例输入 2

9
10 7 9 10 7 5 5 3 5

样例输出 2

4 14

样例输入 3

3
8 10 3

样例输出 3

0 8

数据范围

1≤n≤3⋅105 1\leq n\leq 3\cdot 10^5 ,0≤ai≤109 0\leq a_i\leq 10^9