U145408 异或

题目背景

小明~~在校园里瞎逛了一圈并解决了矩阵链问题~~后就去到了机房,开始上他最喜欢的信息课了。 今天老师讲到了电脑的存储运算等内容,自然就离不开二进制了,~~然后不知为什么就讲到了位运算~~。 [$\textcolor{#000000}{拓展版链接}$](https://www.luogu.com.cn/problem/P7335)

题目描述

现在给出 $n$ 和序列 $a_{1,2...n}$,选出 $l_1,r_1,l_2,r_2,l_3,r_3$ 使得 $$\bigoplus_{i=l_1}^{r_1}a_i+\bigoplus_{j=l_2}^{r_2}a_j+\bigoplus_{k=l_3}^{r_3}a_k$$ 最大并且满足 $1\leqslant l_1\leqslant r_1

输入格式

输入共 $2$ 行。\ 第 $1$ 行输入一个正整数 $n$。\ 第 $2$ 行输入 $n$ 个非负整数代表序列 $a$。

输出格式

输出共 $2$ 行。\ 第 $1$ 行输出一个非负整数,代表这个式子的最大值。\ 第 $2$ 行输出 $6$ 个正正整数代表 $l_1,r_1,l_2,r_2,l_3,r_3$.如果有多解,任意输出一种解即可。

说明/提示

对于 $100\%$ 的数据, $3\leqslant n\leqslant 5000,0\leqslant a_i\leqslant 10^{9}$ 这里提供 [$\textcolor{#000000}{SPJ}$](https://www.luogu.com.cn/paste/wpwcjhkl) #### 计分方式 对于一个测试点: - 如果你给出的 $l,r$ 不符合要求,给出 $0$ 分 - 如果你给出的 $l,r$ 符合要求,但是不能得到你给出的最大值,给出 $0$ 分 - 如果你给出的最大值 $\leqslant$ 答案 $\times\;70\%$,给出 $0$ 分 - 如果你给出的最大值$out$ $>$ 答案$ans$ $\times\;70\%$,但 $< ans$,给出$\frac{out}{ans}\times100\%-70\%$ 的分数 - 如果你给出的最大值$out$ $\geqslant$ 答案$ans$,给出 $100\%$ 的分数 对于所有数据点: - 分成 $4$ 个 $Subtask$ ,每个 $Subtask$ 取得到的最少分作为这个 $Subtask$ 的得分 - 对于 $Subtask\,4$,时间限制为 $2\,s$,其余 $Subtask$,时间限制为 $0.5\,s$ - 对于所有 $Subtask$,空间限制是 $256\,MB$ | $Subtask$ | $n\leqslant $ | $score$ | | :----------: | :----------: | :----------: | | $1$ | $30$ | $15$ | | $2$ | $1000$ | $25$ | | $3$ | $2000$ | $30$ | | $4$ | $5000$ | $30$ |