首页 > 试题广场 >

最大子段或

[编程题]最大子段或
  • 热度指数:221 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给出一个正整数序列,求一个子区间使得这个区间内的数或起来尽可能的大。
或运算指数字按二进制位进行以下运算:
运算规则:
一个序列的子区间指这个序列中连续的一段数字。
牛牛并不关心这个最大值是多少,他只关心所有满足条件的子区间里,最短的子区间长度是多少。

输入描述:
第一行一个正整数,代表这个序列的长度。 
接下来一行空格分隔的正整数,用来描述这个序列。



输出描述:
仅一行一个正整数代表答案。
示例1

输入

3
1 2 3

输出

1

说明

最大值是\text 3,满足条件的子区间为\text [1:3],[1:2],[3:3]
所以最短的长度为\text 1