12026. Запити з діапазоном


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Вам задано послідовність цілих чисел довжини \(N\): \(A=(A_1 ,A_2 ,…,A_N )\) і натуральне число \(K\).

Для кожного \(i=1,2,…,Q\) визначте, чи є безперервна підпослідовність з \(A\), \((A_{l_i} ​ ,A_{l_i ​+ 1} ​ ,…,A_{r_i} ​ ​)\), є хорошою послідовністю.

Тут послідовність довжини \(n\), \(X=(X_1 ​ , X_2 ​ ,…, X_n ​ )\), є хорошою тоді і тільки тоді, коли є спосіб виконати операцію менше певної кількості разів (можливо, нуль), щоб зробити усі елементи \(X\) рівними 0.

Виберіть ціле число \(i\) таке, що \(1≤i≤n−K+1\), і ціле число \(c\) (можливо, від’ємне). Додайте \(c\) до кожного з \(K\) елементів \(X_i ​ ,X_{i+1} ​ ,…,X_{i+K−1}\) .

Гарантується, що \(r_i ​ −l_i ​+1≥K\) для кожного \(i=1,2,…,Q\).

Обмеження

  • \(1≤N≤2×10^5\)
  • \(1≤K≤min(10,N)\)
  • \(−10^9 ≤A_i ​ ≤10^9\)
  • \(1≤Q≤2×10^5\)
  • \(1≤l_i ​ ,r_i​ ≤N\)
  • \( r_i ​ −l_i ​+ 1≥K\)
  • Усі значення у вхідних даних є цілими числами.

Формат вхідних даних

Перший рядок містить цілі числа \(N,K\).

Наступний   рядок містить \(N\) цілих чисел \(A_i\).

Далі іде рядок, який містить ціле число \(Q\)

Наступні  \(Q\) рядків містять цілі числа \(l_i, r_i\).

Формат вихідних даних

У вихідний потік виведіть \(Q\) рядків. Для кожного \(i=1,2,…,Q\) \(i\)-й рядок має містити Yes, якщо послідовність \((A_{l_i} ​ ,A_{l_i+1} ,…,A_{r_i} ​ )\) хороша, і No в іншому випадку.

Приклад вхідних даних

7 3
3 -1 1 -2 2 0 5
2
1 6
2 7

Приклад вихідних даних

Yes
No

Послідовність \(X:=(A_1 ​ , A_2 ​ , A_3 ​ , A_4 ​ , A_5 ​ , A_6 ​ )\)=(3,−1,1,−2,2,0) є хорошою. Справді, ви можете зробити наступне, щоб зробити всі елементи рівними 0.

  • Спочатку виконайте операцію з \(i\)=2,\(c\)=4, зробивши \(X\)=(3,3,5,2,2,0).
  • Далі виконайте операцію з \(i=3\),\(c=−2\), роблячи \(X=(3,3,3,0,0,0)\).
  • Нарешті, виконайте операцію з \(i=1\),\(c=−3\), роблячи \(X=(0,0,0,0,0,0)\).

Таким чином, перший рядок має містити Yes.

Для послідовності \((A_2 ​ , A_3 ​ , A_4 ​ , A_5 ​ , A_6 ​ , A_7 ​ )\)=(−1,1, −2,2,0,5), немає способу зробити всі елементи рівними 0, отже, це погана послідовність. Таким чином, у другому рядку має бути No.

Приклад вхідних даних

20 4
-19 -66 -99 16 18 33 32 28 26 11 12 0 -16 4 21 21 37 17 55 -19
5
13 16
4 11
3 12
13 18
4 10

Приклад вихідних даних

No
Yes
No
Yes
No

Коментарі

Ще немає коментарів.