Перетворення послідовності
Обмеження: 2 сек., 512 МіБ
Керем і Аслі грають з послідовностями.
Керем має послідовність цілих чисел \(s\). Його завдання — розділити послідовність на декілька (можливо, одну) послідовних частин. Далі Аслі для кожної із частин незалежно вибирає ціле число та видаляє всі входження цього числа в цій частині (зауважте, що таких входжень може не бути). Після цього Керем з’єднує всі частини в тому самому порядку, щоб отримати нову послідовність.
Їхня спільна мета — одержати послідовність \(t\).
На яку мінімальну частин Керем повинен розділити послідовність, щоб досягнути мети?
Вхідні дані
Перший рядок містить два цілих числа \(n\) і \(m\).
Другий рядок містить \(n\) цілих чисел \(s_i\) — елементи початкової послідовності \(s\).
Третій рядок містить \(m\) цілих чисел \(t_i\) — елементи кінцевої послідовності \(t\).
Вихідні дані
Якщо неможливо перетворити \(s\) на
\(t\), виведіть -1. Інакше
виведіть мінімальну кількість частин.
Обмеження
\(1 \le n, m \le 2 \cdot 10^3\),
\(1 \le s_i, t_i \le 10^9\).
Приклади
| Вхідні дані (stdin) | Вихідні дані (stdout) |
|---|---|
| 4 2 4 2 7 2 4 7 | 1 |
| Вхідні дані (stdin) | Вихідні дані (stdout) |
|---|---|
| 7 2 4 7 1 4 1 7 1 4 7 | 3 |
| Вхідні дані (stdin) | Вихідні дані (stdout) |
|---|---|
| 3 2 7 4 2 4 7 | -1 |
Надіслати розв'язок
| Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
|---|
| Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
|---|