https://codeforces.com/contest/1732/problem/C1
Problem - C1 - Codeforces
codeforces.com
어떤 수 x에 xor y를 하면 x는 최대 y만큼만 변한다. 따라서 구간의 길이가 길수록 f의 값이 커지므로 f의 최댓값은 f(1, n)이다.
f(l, r) == f(1, n)인 구간 중 가장 짧은 구간을 구해야 하므로 psum, pxor을 전처리 해준 뒤 이분탐색을 돌리면 된다.