Bit alt-seqmentinin istisna edilməsi#13086

Bit alt-seqmentinin istisna edilməsi

2 saniyə
256 meqabayt

Sizə uzunluğu olan binar massiv verilir, burada hər bir element a_i \in \{0, 1\} şərtini ödəyir.

Siz müstəqil sorğuya cavab verməlisiniz. Hər sorğuda sizə [l, r] (1 \le l \le r \le n) aralığı verilir.

Uzunluğu k \ge 1 olan istənilən binar ardıcıllıq b = [b_1, b_2, \dots, b_k] üçün onun ədədi qiyməti ardıcıllığın əvvəlinə gizli şəkildə bir '1' biti əlavə etməklə təyin olunur. Formal olaraq, qiymət belə hesablanır:

val(b) = 2^k + \sum_{i=1}^{k} b_i \cdot 2^{k - i}

Məsələn:

Hər [l, r] sorğusu üçün sizin vəzifəniz a[l \dots r] alt massivində ardıcıl alt-seqment kimi RAST GƏLİNMƏYƏN elə binar ardıcıllıq tapmaqdır ki, val(b) qiyməti ciddi şəkildə minimal olsun.

Bu minimal qiyməti moduluna görə çıxarın.

Giriş

Birinci sətirdə bir tam ədəd (1 \le t \le 10^4) — test hallarının sayı verilir.

Hər test halının birinci sətrində iki tam ədəd və (1 \le n, q \le 2 \cdot 10^5) — binar massivin uzunluğu və sorğuların sayı verilir.

Hər test halının ikinci sətrində boşluqla ayrılmış tam ədəd a_1, a_2, \dots, a_n (a_i \in \{0, 1\}) — massivin elementləri verilir.

Sonrakı sətir sorğuları təsvir edir. Hər sətirdə iki tam ədəd və (1 \le l \le r \le n) — sorğu aralığının sərhədləri verilir.

Bütün test halları üzrə həm -lərin cəminin, həm də -ların cəminin 2 \cdot 10^5-i aşmadığı təmin edilir.

Çıxış

Hər sorğu üçün ayrıca sətirdə bir tam ədəd — a[l \dots r] alt massivində ardıcıl alt-seqment kimi rast gəlinməyən binar ardıcıllığın minimal ədədi qiymətini moduluna görə çıxarın.

Nümunələr

Nümunə 1

Loading
Loading

Qeyd

Birinci test halında massiv a = [0, 1, 0]-dır.

  • Birinci sorğusunda mövcud olan ardıcıl alt-seqmentlər bunlardır: [0], [1], [0, 1], [1, 0] və [0, 1, 0]. Onların uyğun onluq qiymətləri 2, 3, 5, 6 və -dur. Yaranmayan ən kiçik qiymət -dür ki, bu da ardıcıllığına uyğun gəlir.

  • İkinci sorğusunda alt massiv -dir. Mövcud alt-seqmentlər: və . Ən kiçik çatışmayan qiymət yenə -dür ( ardıcıllığı).

  • Üçüncü sorğusunda alt massiv -dir. Yeganə mövcud alt-seqment -dir (qiyməti ). Ən kiçik çatışmayan qiymət -dir ( ardıcıllığı).

İkinci test halında massiv a = [1, 1, 1, 1]-dir. sorğusu üçün ardıcıllığına (qiyməti ) heç vaxt rast gəlinmir, ona görə də cavab -dir.

Üçüncü test halında massiv a = [1, 0, 0, 1]-dir.

  • sorğusu üçün alt massiv [1, 0, 0]-dır. O, [0], [1], [0, 0], [1, 0] alt-seqmentlərini (qiymətləri 2, 3, 4, 6) ehtiva edir. Ən kiçik çatışmayan qiymət -dir ( ardıcıllığı).

  • sorğusu üçün alt massiv [0, 0, 1]-dir. O, [0], [1], [0, 0], [0, 1] alt-seqmentlərini (qiymətləri 2, 3, 4, 5) ehtiva edir. Ən kiçik çatışmayan qiymət -dır ( ardıcıllığı).

  • sorğusu üçün alt massiv 2, 3, 4, 5 və qiymətlərini ehtiva edir. Ən kiçik çatışmayan qiymət -dir ( ardıcıllığı).

Bal hesablama

  • Alt məsələ 1 (100 bal): \sum n \le 2000 və \sum q \le 2000.

  • Alt məsələ 2 (150 bal): \sum n \le 40000 və \sum q \le 40000.

  • Alt məsələ 3 (250 bal): Əlavə məhdudiyyət yoxdur.