eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

AND & OR & min на відрізку

AND & OR & min на відрізку

У Василька є \textbf{N} чисел: \textbf{x_1}, \textbf{x_2},..., \textbf{x_N}. Ви повинні допомогти йому швидко відповідати на запити двох типів: \begin{enumerate} \item \textbf{AND L R} - тут вам потрібно знайти мінімальне значення \textbf{x_i1 AND x_i2 AND ... AND x_ik}, де \textbf{\{x_ik\}} деяка непорожня підмножина, \textbf{L} ≤ \textbf{i_1} < \textbf{i_2} < ... < \textbf{i_k} ≤ \textbf{R}, \textbf{1} ≤ \textbf{L} ≤ \textbf{R} ≤ \textbf{N}. \item \textbf{OR L R} - в цьому випадку вам потрібно знайти мінімальне значення \textbf{x_i1 OR x_i2 OR ... OR x_ik}, де \textbf{\{x_ik\}} деяка непорожня підмножина, \textbf{L} ≤ \textbf{i_1} < \textbf{i_2} < ... < \textbf{i_k} ≤ \textbf{R}, \textbf{1} ≤ \textbf{L} ≤ \textbf{R} ≤ \textbf{N}. \end{enumerate} \InputFile В першому рядку задано число \textbf{N}, \textbf{1} ≤ \textbf{N} ≤ \textbf{100000}. У наступному рядку задано \textbf{N} чисел \textbf{x_i}, \textbf{0} ≤ \textbf{x_i} ≤ \textbf{10^9}. Після цього задано число \textbf{M} - кількість запитів, на які вам потрібно знайти відповідь, \textbf{1} ≤ \textbf{M} ≤ \textbf{100000}. У наступних \textbf{M} рядках задано самі запити. \OutputFile Відповідь на кожен запит виводьте в новому рядку.
Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
5
1 2 3 4 5
4
AND 1 5
OR 1 5
AND 1 1
OR 3 4
Вихідні дані #1
0
1
1
3
Автор Володимир Чіх
Джерело Дистанційна Літня Комп`ютерна Школа - літо 2013 року