XOR
Sizə x ədədi və n ədədindən ibarət bir ardıcıllıq verilib. Bu ardıcıllığın elementlərindən ibarət mümkün qədər böyük bir ardıcıl interval tapmaq lazımdır ki, bu elementlərin xor əməliyyatı nəticəsi x-dən az olmasın. Yəni, daha dəqiq desək, elə i və k tapmaq lazımdır ki,
a[i]
xor a[i+1]
xor ... xor a[i+k-1]
≥ x, 1 ≤ i ≤ i + k - 1 ≤ n,
və k mümkün qədər böyük olsun.
Zəmanət verilir ki, ilkin ardıcıllıq üçün belə bir interval tapılacaq. Xatırladaq ki, xor əməliyyatı tam ədədlərin bit təsviri üzərində icra olunur və uyğun bitlər cütlüyü üçün aşağıdakılar doğrudur:
0 xor 0 = 0
0 xor 1 = 1
1 xor 0 = 1
1 xor 1 = 0
Bu əməliyyatın nəticəsi operandların sırasından asılı deyil: a xor b = b xor a. Həmçinin, aşağıdakılar doğrudur: (a xor (a xor b)) = b.
Pascal proqramlaşdırma dilində bu əməliyyat xor kimi, C/C++/Java dillərində isə ^ kimi göstərilir.
Giriş məlumatları
Birinci sətirdə n (1 ≤ n ≤ 250 000) və x (0 ≤ x ≤ 10^9
) ədədləri verilir. Növbəti sətirdə n ədəd tam qeyri-mənfi ədədlər yazılmışdır, hər biri 10^9
-u keçmir.
Çıxış məlumatları
İki ədəd: i və k dəyərlərini çıxış edin. Əgər bir neçə həll varsa, i dəyəri minimal olanı verin.