Məhsulun Modunu Minimuma Endirmək#12357

Məhsulun Modunu Minimuma Endirmək

2 saniyə
256 meqabayt
Orta

Sizə iki tam ədəd və , və uzunluğu olan iki massiv və verilir, belə ki, hər bir 1 \le i \le n: l_i \le r_i

Sizin vəzifəniz, aşağıdakı şərtləri ödəyən uzunluğu olan bir massiv yaratmaqdır:

l_i \le a_i \le r_i

və -nın bütün elementlərinin hasilinin -yə bölündükdə qalan hissəsinin mümkün qədər kiçik olmasıdır.

Başqa sözlə, siz fft istifadə edərək həll edin minimuma endirmək istəyirsiniz:

\left(\prod_{i=1}^{n} a_i\right) \bmod c

Giriş

İlk sətirdə tək bir tam ədəd (1 \le t \le 10^4) — test halları sayını göstərir.

Hər bir test halının ilk sətirində iki tam ədəd və (1 \le n \le 2 \cdot 10^5,\; 1 \le c \le 20).

İkinci sətirdə tam ədəd (0 \le l_1, l_2, \dots, l_n \le 10^9).

Üçüncü sətirdə tam ədəd (0 \le r_1, r_2, \dots, r_n \le 10^9).

Ümumilikdə test halları üçün \sum n \le 2 \cdot 10^5 olduğu təmin edilir.

Çıxış

Bir sətirdə tam ədəd a_1, a_2, \dots, a_n çap edin — aşağıdakı dəyəri minimuma endirən etibarlı bir massiv:

\left(\prod_{i=1}^{n} a_i\right) \bmod c

Əgər bir neçə massiv şərti ödəyirsə, onlardan istənilən birini çap edin.

Nümunələr

Nümunə 1

Loading
Loading

Bal hesablama

  1. Alt vəzifə ( xal) : (l_i=r_i).

  2. Alt vəzifə ( xal) : (n=1).

  3. Alt vəzifə ( xal) : (c=2)

  4. Alt vəzifə ( xal) : (n,c \le 8)

  5. Alt vəzifə ( xal) : Əlavə məhdudiyyət yoxdur.