CF1665E MinimizOR

题目描述

给出一个长度为 $n$ 的非负整数数列 $a$,下标编号从 $1$ 到 $n$。 定义一个数列 $a$ 的代价为 $\min\limits_{i\neq j} a_i|a_j$,其中 $|$ 表示 [按位或](https://en.wikipedia.org/wiki/Bitwise_operation#OR) 运算。 $q$ 个询问,每个询问给出两个整数 $l,r\ (l

输入格式

输出格式

说明/提示

In the first test case the array $ a $ is $ 110_2, 001_2, 011_2, 010_2, 001_2 $ . That's why the answers for the queries are: - $ [1; 2] $ : $ a_1 | a_2 = 110_2 | 001_2 = 111_2 = 7 $ ; - $ [2; 3] $ : $ a_2 | a_3 = 001_2 | 011_2 = 011_2 = 3 $ ; - $ [2; 4] $ : $ a_2 | a_3 = a_3 | a_4 = a_2 | a_4 = 011_2 = 3 $ ; - $ [2; 5] $ : $ a_2 | a_5 = 001_2 = 1 $ . In the second test case the array $ a $ is $ 00_2, 10_2, 01_2, \underbrace{11\ldots 1_2}_{30} $ ( $ a_4 = 2^{30} - 1 $ ). That's why the answers for the queries are: - $ [1; 2] $ : $ a_1 | a_2 = 10_2 = 2 $ ; - $ [2; 3] $ : $ a_2 | a_3 = 11_2 = 3 $ ; - $ [1; 3] $ : $ a_1 | a_3 = 01_2 = 1 $ ; - $ [3; 4] $ : $ a_3 | a_4 = 01_2 | \underbrace{11\ldots 1_2}_{30} = 2^{30} - 1 = 1073741823 $ .