시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
5 초 | 256 MB | 79 | 32 | 29 | 54.717% |
You are given numbers N, x and a sequence of N numbers. Find the largest possible interval of consequently following elements, such that "xor"of these elements is not less than x. I.e., more formally, find such i and k that
ai ⊕ ai+1 ⊕ · · · ⊕ ai+k−1 ≥ x, 1 ≤ i ≤ i + k − 1 ≤ N, and k is largest possible positive number.
It's guaranteed that for each test from the testset such an interval exists.
We remind you that xor(⊕) operation is applied to numbers in binary representation, so that for each pair of bits the following is true:
The result of this operation doesn't depend on the order of operands a⊕b = b⊕a. Moreover (a⊕(a⊕b)) = b.
In Pascal this operation is represented as xor. In C/C++/Java as ∧.
The first line of input contains N (1 ≤ N ≤ 250 000) and x (0 ≤ x ≤ 1 000 000 000). The second line of input contains N non-negative numbers not exceeding 109.
The first line of output must contain two numbers: i and k. In case of many solutions output the one with the smallest i.
4 6 6 1 2 4
2 3