Processing math: 100%
编程题
                ### 问题描述

沉迷于数学的知识海洋的苏苏构造了一个新的数学符号 Υ,定义 AΥB=(AB)(AB),其中 表示按位或, 表示按位与。

现在苏苏有一个长度为 n 的数组 a,苏苏想让你找出一段区间 [l,r](1lrn),使得区间内 alΥal+1ΥΥar 的值最大,并输出这个区间的左端点 l 和 右端点 r 以及这个区间的值。

注:如果最大值的区间有多段,请输出其中最小的左端点 l 的区间的 l,r,如果最小的左端点 l 的区间也有多对,则请输出其中最小的右端点的 r 的区间的 l,r

输入格式

第一行包含一个整数 n,表示数组 a 的长度。

第二行包含 n 个整数 a1,a2,a3,anai 表示数组 a 的第 i 个元素。

输出格式

输出包含三个整数 l,r,ans,分别表示区间的左端点和右端点以及区间 [l,r] 的值。

样例输入

5
1 2 3 4 5

样例输出

3 4 7

评测数据规模

对于所有的评测数据,1n2×1031ai106

查看答案
赣ICP备20007335号-2