#P12972. 一道恶心的签到题

一道恶心的签到题

题目背景

愿你们能够不被此题所迷倒。

题目描述

小 L 一共有 nn 瓶饮料需要拿走,第 ii 瓶饮料的重量为 aia_i。小 L 将会分 xx 轮拿饮料(1xn1 \le x \le nxx 自定)。每一轮拿饮料,她拿走第 ii 瓶(此轮第 11 瓶)饮料耗费的精力值为 aia_i;假设这轮原来已经耗费 kk 的精力值,之后再拿走第 jj1jn1 \le j \le n)瓶饮料,则拿走这瓶饮料将新耗费 (k&aj)+(kaj)k(k \And a_j) + (k \oplus a_j) - k 精力值(&\And 表示按位与,\oplus 表示按位异或)。每一轮拿的饮料都是位置连续的一段饮料。我们设第 ii 轮拿完饮料总共消耗了 lil_i 精力值,请你求出 i=1xli\sum\limits_{i=1}^xl_i

简易题面:

小 L 的面前有 nn 瓶饮料,第 ii 瓶的重量为 wiw_i。她会分成若干轮把所有饮料全部拿走,第 pp 轮中拿走的第 kk 瓶(设拿走的第 kk 瓶饮料编号为 dd)会花费体力 $f_{p,k}=\begin{cases}a_d&(k=1)\\(a_d\operatorname{and}\sum\limits_{1\leqslant j<k}f_{p,j})+(a_d\operatorname{xor}\sum\limits_{1\leqslant j<k}f_{p,j})-\sum\limits_{1\leqslant j<k}f_{p,j}&(k\geqslant2)\end{cases}$。若第 pp 轮拿走了 cc 瓶饮料,则该轮耗费的体力 sp=k=1cfp,ks_p=\sum\limits_{k=1}^cf_{p,k}。若小 L 用了 mm 轮把饮料拿完,请问 p=1msp\sum\limits_{p=1}^ms_p 最小为多少。

输入格式

第一行输入一个数 nn

第二行输入 nn 个数,第 ii 个数表示 aia_i

输出格式

共一行,一个数,表示最小的 i=1xli\sum^x_{i=1} l_i

4
1 3 8 12
15

提示

【样例解释】

  1. 拿走第二瓶饮料,新耗费 33 精力值。
  2. 拿走第一瓶饮料,新耗费 (3&1)+(31)3=0(3\And 1)+(3\oplus 1)-3=0 精力值,并将这两瓶饮料拿走,结束这轮。
  3. 拿走第三瓶饮料,新耗费 88 精力值。
  4. 拿走第四瓶饮料,新耗费 (8&12)+(812)8=4(8\And 12)+(8\oplus 12)-8=4 精力值,将这两瓶饮料拿走,结束这轮。

总共耗费 3+0+8+4=153+0+8+4=15 精力值。

【数据范围】

对于 100%100\% 的数据:1n1061\leq n\leq 10^60i=1xli26310\leq \sum^x_{i=1} l_i \leq 2^{63}-10ai26310\leq a_i \leq 2^{63}-1

数据点 nn\leq 特殊性质
11 99
232\sim3 10310^3 l251\sum l \leq 2^5-1
44
5105\sim10 10610^6