AT_pakencamp_2022_day3_i Prefix Or

题目描述

给定一个长度为 $N$ 的非负整数序列 $A=(A_1,A_2,\ldots,A_N)$。你可以任意重新排列 $A$ 的元素。请你求出如下式子可能取得的最小值: $$ \displaystyle \sum_{k=1}^N (A_1 \lor A_2 \lor \cdots \lor A_k) $$ 其中 $\lor$ 表示按位 $\operatorname{OR}$ 操作。 按位 $\operatorname{OR}$ 操作对非负整数 $A,B$ 定义为:$A\lor B$ 的二进制表示的 $2^k$ 位上,若 $A,B$ 二进制表示的 $2^k$ 位中至少有一个为 $1$,则该位为 $1$,否则为 $0$。 例如,$3\lor5=7$,用二进制表示为 $010\lor101=111$。

输入格式

输入格式如下,通过标准输入读入。 > $N$ $A_1$ $A_2$ $\ldots$ $A_N$

输出格式

请输出答案。

说明/提示

## 样例解释 1 将 $A$ 排成 $(1,2,4)$,则有 $(A_1)+(A_1\lor A_2)+(A_1\lor A_2\lor A_3)=1+3+7=11$,这是最小值。 ## 样例解释 2 将 $A$ 排成 $(2,6,5)$,则有 $(A_1)+(A_1\lor A_2)+(A_1\lor A_2\lor A_3)=2+6+7=15$,这是最小值。 ## 数据范围 - $1 \le N \le 2\times 10^5$ - $1 \le A_i \le 2\times 10^5$ - 输入均为整数。 由 ChatGPT 5 翻译