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

Задача . C. Мадока и формальное условие


Дан массив целых чисел \(a_1, a_2, \ldots, a_n\). За одну операцию можно сделать \(a_i := a_i + 1\), если \(i < n\) и \(a_i \leq a_{i + 1}\), либо \(i = n\) и \(a_i \leq a_1\).

Нужно проверить, может ли за какое-то количество операций (возможно, ноль) массив \(a_1, a_2, \ldots, a_n\) стать равным массиву \(b_1, b_2, \ldots, b_n\). Два массива \(a\) и \(b\) длины \(n\) называются равными, если \(a_i = b_i\) для всех целых чисел \(i\) от \(1\) до \(n\).

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

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится единственное целое число \(t\) (\(1 \le t \le 4 \cdot 10^4\)) — количество наборов входных данных. Далее следует описание наборов входных данных.

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

Во второй строке каждого набора входных данных записаны \(n\) целых чисел \(a_1, \ldots, a_n\) (\(1 \le a_i \le 10^9\)) – элементы массива \(a\).

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

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

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

Для каждого набора входных данных выведите «YES», если можно получить массив \(b\), иначе выведите «NO».

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

Примечание

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

Во втором наборе входных данных нельзя получить массив \(b\), потому что для этого нам нужно уменьшить \(a_1\).

В пятом наборе входных данных мы можем применять по порядку операции к элементам с индексами \(4, 3, 3,2,2,2,1,1,1,1\), после чего получить массив \([5,5,5,5,5]\). После этого можно применить по порядку операции к элементам с индексами \(5,4,4,3,1\) и уже получить массив \([6,5,6,7,6]\).


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

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

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