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

Задача . D. Сортировка подотрезков


Вам заданы массивы \(a_1, a_2, \dots, a_n\) и \(b_1, b_2, \dots, b_n\).

За одну операцию вы можете отсортировать в порядке неубывания подотрезок \(a[l \dots r]\) массива \(a\).

Например, если \(a = [4, 2, 2, 1, 3, 1]\) и вы выбрали подотрезок \(a[2 \dots 5]\), тогда массив примет вид: \([4, 1, 2, 2, 3, 1]\).

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

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

Первая строка содержит число \(t\) (\(1 \le t \le 3 \cdot 10^5\)) — количество запросов.

Первая строка каждого запроса содержит число \(n\) (\(1 \le n \le 3 \cdot 10^5\)).

Вторая строка каждого запроса содержит \(n\) чисел \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le n\)).

Третья строка каждого запроса содержит \(n\) чисел \(b_1, b_2, \dots, b_n\) (\(1 \le b_i \le n\)).

Гарантируется, что условие \(\sum n \le 3 \cdot 10^5\) выполняется для всех тестов.

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

На каждый запрос в отдельной строке выведите YES (в любом регистре) если возможно получить массив \(b\) и NO (в любом регистре) в обратном случае.

Примечание

В первом тестовом примере мы можем отсортировать подотрезок \(a_1 \dots a_5\), тогда массив \(a\) превратится в \([1, 1, 4, 4, 7, 5, 6]\), а затем отсортировать подотрезок \(a_5 \dots a_6\).


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

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

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