Sparse Table 5

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1200 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho dãy số \(A\) gồm \(N\) phần tử \(A_1, A_2, \dots, A_N\). Có \(M\) câu hỏi, mỗi câu hỏi gồm hai số nguyên \(L\) và \(R\). Với mỗi câu hỏi, hãy tính giá trị bitwise OR của các phần tử trong đoạn từ \(L\) đến \(R\): \(A_L \text{ or } A_{L+1} \text{ or } \dots \text{ or } A_R\).

Input

  • Dòng đầu tiên chứa số nguyên dương \(N\).
  • Dòng thứ hai chứa \(N\) số nguyên \(A_1, A_2, \dots, A_N\).
  • Dòng thứ ba chứa số nguyên dương \(M\).
  • \(M\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(L_i, R_i\) đại diện cho một câu hỏi.

Output

  • Gồm \(M\) dòng, mỗi dòng là kết quả của phép toán bitwise OR tương ứng với từng câu hỏi.

Constraints

  • \(1 \le N, M \le 5 \cdot 10^5\)
  • \(0 \le A_i \le 10^9\)
  • \(1 \le L_i \le R_i \le N\)

Example

Test 1

Input
5
34 23 12 34 2 
3
1 3
2 4
5 5
Output
63
63
2
Note
  • Câu hỏi 1: \(34 \text{ or } 23 \text{ or } 12 = 63\).
  • Câu hỏi 2: \(23 \text{ or } 12 \text{ or } 34 = 63\).
  • Câu hỏi 3: \(2 = 2\).

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.