Codeforces Round 673 (Div. 1)
C
XOR Inverse
Codeforces
2000
原题
← BD →
翻译中…

You are given an array $a$ consisting of $n$ non-negative integers. You have to choose a non-negative integer $x$ and form a new array $b$ of size $n$ according to the following rule: for all $i$ from $1$ to $n$, $b_i = a_i \oplus x$ ($\oplus$ denotes the operation bitwise XOR).

翻译中…

An inversion in the $b$ array is a pair of integers $i$ and $j$ such that $1 \le i \lt j \le n$ and $b_i \gt b_j$.

翻译中…

You should choose $x$ in such a way that the number of inversions in $b$ is minimized. If there are several options for $x$ — output the smallest one.

翻译中…

Input

翻译中…

First line contains a single integer $n$ ($1 \le n \le 3 \cdot 10^5$) — the number of elements in $a$.

翻译中…

Second line contains $n$ space-separated integers $a_1$, $a_2$, ..., $a_n$ ($0 \le a_i \le 10^9$), where $a_i$ is the $i$-th element of $a$.

翻译中…

Output

翻译中…

Output two integers: the minimum possible number of inversions in $b$, and the minimum possible value of $x$, which achieves those number of inversions.

翻译中…

Note

翻译中…

In the first sample it is optimal to leave the array as it is by choosing $x = 0$.

翻译中…

In the second sample the selection of $x = 14$ results in $b$: $[4, 9, 7, 4, 9, 11, 11, 13, 11]$. It has $4$ inversions:

翻译中…
  • $i = 2$, $j = 3$;
  • $i = 2$, $j = 4$;
  • $i = 3$, $j = 4$;
  • $i = 8$, $j = 9$.
翻译中…

In the third sample the selection of $x = 8$ results in $b$: $[0, 2, 11]$. It has no inversions.

翻译中…

样例

Input #1
4
0 1 3 2
Output #1
1 0
InputCopy OutputCopy
Input #2
9
10 7 9 10 7 5 5 3 5
Output #2
4 14
InputCopy OutputCopy
Input #3
3
8 10 3
Output #3
0 8
InputCopy OutputCopy
题目信息
题号
1416C
时间限制
2 s
内存限制
512 MB
标签
位运算
数据结构
分治
动态规划
贪心
数学
排序
字符串
树

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。