Олимпиадный тренинг

Задача . B. Декременты массива


У Кристины есть два массива \(a\) и \(b\), содержащие по \(n\) неотрицательных целых чисел. Она может произвольное количество раз совершить над массивом \(a\) следующую операцию:

  • Вычесть единицу из каждого ненулевого элемента массива, то есть заменить значение каждого элемента \(a_i\) такого, что \(a_i > 0\), на значение \(a_i - 1\) (\(1 \le i \le n\)). Если \(a_i\) был равен \(0\), то его значение не изменяется.

Определите, может ли Кристина за некоторое число операций (возможно, нулевое) получить массив \(b\) из массива \(a\)? Другими словами, можно ли сделать так, чтобы после некоторого числа операций для каждого \(1 \le i \le n\) было выполнено \(a_i = b_i\)?

Например, пусть \(n = 4\), \(a = [3, 5, 4, 1]\) и \(b = [1, 3, 2, 0]\). В этом случае можно применить операцию два раза:

  • после первого применения операции получим \(a = [2, 4, 3, 0]\);
  • после второго применения операции получим \(a = [1, 3, 2, 0]\).

Таким образом, за две операции можно получить массив \(b\) из массива \(a\).

Входные данные

В первой строке записано единственное число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных в тесте.

Далее следуют описания наборов входных данных.

В первой строке каждого набора входных данных содержится единственное целое число \(n\) (\(1 \le n \le 5 \cdot 10^4\)).

Во второй строке каждого набора входных данных записано ровно \(n\) неотрицательных целых чисел \(a_1, a_2, \dots, a_n\) (\(0 \le a_i \le 10^9\)).

В третьей сроке каждого набора входных данных записано ровно \(n\) неотрицательных целых чисел \(b_1, b_2, \dots, b_n\) (\(0 \le b_i \le 10^9\)).

Гарантируется, что сумма \(n\) по всем наборам входных данных в тесте не превышает \(2 \cdot 10^5\).

Выходные данные

Для каждого набора входных данных в отдельной строке выведите:

  • YES, если при помощи совершения некоторого числа операций можно получить массив \(b\) из массива \(a\);
  • NO в противном случае.

Вы можете выводить YES и NO в любом регистре (например, строки yEs, yes, Yes и YES будут распознаны как положительный ответ).

Примечание

Первый набор входных данных разобран в условии задачи.

Во втором наборе входных данных достаточно один раз применить операцию к массиву \(a\).

В третьем наборе входных данных получить массив \(b\) из массива \(a\) невозможно.


Примеры
Входные данныеВыходные данные
1 6
4
3 5 4 1
1 3 2 0
3
1 2 1
0 1 0
4
5 3 7 2
1 1 1 1
5
1 2 3 4 5
1 2 3 4 6
1
8
0
1
4
6
YES
YES
NO
NO
YES
NO

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя