QOJ.ac

QOJ

Time Limit: 3.0 s Memory Limit: 256 MB Total points: 100 Hackable ✓

#14093. Сортировка заменами

Statistics

Даны массив $A$ и множество $B$ целых чисел, причём все числа в $A$ и $B$ попарно различны. Ваша задача — превратить $A$ в отсортированный массив. Для этого можно взять любое число из $B$ и заменить им любой элемент $A$. Эту операцию можно выполнять сколько угодно раз, но каждый элемент $B$ разрешается использовать не более одного раза.

Определите минимальное число операций, необходимых для превращения $A$ в отсортированный массив, или установите, что это невозможно.

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

Первая строка ввода содержит два целых числа $N$ и $M$ ($1 \le N,M \le 5\cdot10^5$) — размеры $A$ и $B$ соответственно.

Вторая строка содержит $N$ целых чисел $A_1,A_2,\ldots,A_N$.

Третья строка содержит $M$ целых чисел $B_1,B_2,\ldots,B_M$.

Все $N+M$ элементов попарно различны, положительны и не превышают $10^9$.

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

Если превратить $A$ в отсортированный массив невозможно, выведите $-1$. Иначе выведите минимальное необходимое число операций.

Примеры

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

4 1
2 6 13 10
5

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

-1

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

4 2
2 6 13 10
5 4

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

2

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

4 3
2 6 13 10
5 4 19

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

1

Примечание

Во всех трёх примерах проблема в том, что $13>10$, поэтому нужно изменить хотя бы одно из этих чисел.

В первом примере можно уменьшить $13$, заменив его на $5$, но это нарушает порядок с другой стороны, поэтому решения нет.

Во втором примере у нас также есть $4$, которым можно исправить нарушенный порядок. Меньше чем за $2$ операции это сделать невозможно.

В третьем примере наконец можно увеличить последний элемент, отсортировав $A$ за $1$ операцию.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.