QOJ.ac

QOJ

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

#14093. Sortieren durch Ersetzen

Statistics

Gegeben sind ein Array $A$ und eine Menge $B$ ganzer Zahlen, wobei alle Zahlen in $A$ und $B$ paarweise verschieden sind. Deine Aufgabe ist es, $A$ in ein sortiertes Array umzuwandeln. Dazu kannst du eine beliebige Zahl aus $B$ nehmen und damit ein beliebiges Element von $A$ ersetzen. Du darfst diese Operation beliebig oft ausführen, aber jedes Element von $B$ höchstens einmal verwenden.

Bestimme die minimale Anzahl benötigter Operationen, um $A$ zu sortieren, oder stelle fest, dass dies unmöglich ist.

Eingabe

Die erste Eingabezeile enthält zwei ganze Zahlen $N$ und $M$ ($1 \le N,M \le 5\cdot10^5$), die Größen von $A$ beziehungsweise $B$.

Die zweite Zeile enthält $N$ ganze Zahlen $A_1,A_2,\ldots,A_N$.

Die dritte Zeile enthält $M$ ganze Zahlen $B_1,B_2,\ldots,B_M$.

Alle $N+M$ Elemente sind paarweise verschieden, positiv und höchstens $10^9$.

Ausgabe

Falls sich $A$ nicht sortieren lässt, gib $-1$ aus. Andernfalls gib die minimale Anzahl benötigter Operationen aus.

Beispiele

Eingabe 1

4 1
2 6 13 10
5

Ausgabe 1

-1

Eingabe 2

4 2
2 6 13 10
5 4

Ausgabe 2

2

Eingabe 3

4 3
2 6 13 10
5 4 19

Ausgabe 3

1

Hinweis

In allen drei Beispielen ist $13>10$ das Problem, also müssen wir mindestens eine dieser Zahlen ändern.

Im ersten Beispiel können wir $13$ verkleinern, indem wir sie durch $5$ ersetzen. Dadurch wird jedoch die Reihenfolge auf der anderen Seite verletzt, also gibt es keine Lösung.

Im zweiten Beispiel haben wir zusätzlich $4$, womit sich die verletzte Seite reparieren lässt. Mit weniger als $2$ Operationen ist dies unmöglich.

Im dritten Beispiel können wir endlich das letzte Element vergrößern und so $A$ mit $1$ Operation sortieren.

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.