QOJ.ac

QOJ

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

#14093. Ordenação por substituições

Statistics

Considere um vetor $A$ e um conjunto $B$ de inteiros tais que todos os números em $A$ e $B$ são distintos. Sua tarefa é transformar $A$ em um vetor ordenado. Para isso, você pode pegar qualquer número de $B$ e substituir qualquer elemento de $A$ por ele. Você pode realizar essa operação quantas vezes quiser, mas cada elemento de $B$ pode ser usado no máximo uma vez.

Determine o número mínimo de operações necessárias para transformar $A$ em um vetor ordenado, ou determine que isso é impossível.

Entrada

A primeira linha da entrada contém dois inteiros $N$ e $M$ ($1 \le N,M \le 5\cdot10^5$), os tamanhos de $A$ e $B$, respectivamente.

A segunda linha contém $N$ inteiros $A_1,A_2,\ldots,A_N$.

A terceira linha contém $M$ inteiros $B_1,B_2,\ldots,B_M$.

Todos os $N+M$ elementos são distintos, positivos e não ultrapassam $10^9$.

Saída

Se for impossível transformar $A$ em um vetor ordenado, imprima $-1$. Caso contrário, imprima o número mínimo de operações necessárias.

Exemplos

Entrada 1

4 1
2 6 13 10
5

Saída 1

-1

Entrada 2

4 2
2 6 13 10
5 4

Saída 2

2

Entrada 3

4 3
2 6 13 10
5 4 19

Saída 3

1

Nota

Nos três exemplos, o problema é que $13>10$, portanto precisamos alterar pelo menos um deles.

No primeiro, podemos diminuir $13$ substituindo-o por $5$, mas isso quebra a ordem do outro lado, portanto não há solução.

No segundo, também temos $4$, que podemos usar para consertar o lado afetado. É impossível fazer isso com menos de $2$ operações.

No terceiro exemplo, finalmente podemos aumentar o último elemento, ordenando $A$ com $1$ operação.

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.