QOJ.ac

QOJ

実行時間制限: 1 s メモリ制限: 128 MB 満点: 100

#23211. Kartenspiel

統計

지훈 spielt in letzter Zeit gerne ein Kartenspiel für eine Person.

Auf jeder Karte steht eine positive ganze Zahl; mehrere Karten dürfen dieselbe Zahl tragen.

Zunächst wird eine gerade Anzahl Karten zufällig gemischt und auf zwei gleich große Stapel verteilt, einen links und einen rechts.

Außerdem wird ein leerer Behälter bereitgestellt.

Nun wird gespielt, indem die obersten Karten beider Stapel verglichen werden.

Die Regeln lauten wie folgt. Die oberste Karte des linken Stapels heißt linke Karte, die oberste des rechten Stapels rechte Karte.

(1) Man darf jederzeit nur die linke Karte oder beide Karten in den Behälter werfen. Dafür erhält man keine Punkte.

(2) Ist die Zahl auf der rechten Karte kleiner als die auf der linken Karte, darf man auch nur die rechte Karte abwerfen.

Beim Abwerfen nur der rechten Karte erhält man so viele Punkte wie die Zahl auf ihr.

(3) Es wird nach den Regeln (1) und (2) gespielt. Sobald einer der Stapel leer ist, endet das Spiel,

und die Summe der bis dahin erhaltenen Punkte ist die Endpunktzahl.

Das folgende Beispiel beginnt mit zwei Stapeln von jeweils drei Karten.

problem_23211_589cbced26dab65280d2d7c91626ee13.png

Anfangs ist die rechte Karte 2 kleiner als die linke Karte 3,

daher darf man nach Regel (1) nur die linke Karte oder beide Karten abwerfen,

oder nach Regel (2) nur die rechte Karte.

Wirft man nur die rechte Karte 2 ab, erhält man 2 Punkte und wirft diese Karte weg.

Jetzt ist die oberste rechte Karte 4, größer als die linke Karte 3,

daher darf man nach Regel (1) nur die linke Karte oder beide Karten abwerfen.

Wirft man beide ab, wird die linke Karte zu 2 und die rechte zu 1.

Nach den Regeln (1) und (2) gibt es wieder drei Möglichkeiten;

wirft man nur die linke Karte ab, wird die linke Karte zu 5 und die rechte bleibt 1.

Auch jetzt gibt es nach den Regeln (1) und (2) drei Möglichkeiten;

wirft man nur die rechte Karte ab, erhält man 1 Punkt und wirft die rechte Karte 1 weg.

Der rechte Stapel ist nun leer, also endet das Spiel nach Regel (3) mit der Endpunktzahl $2+1=3$.

Schreibe ein Programm, das für die gegebenen zwei Stapel die maximal erreichbare Endpunktzahl ausgibt.

Im obigen Beispiel beträgt die maximale Endpunktzahl 7.

Eingabe

Die erste Zeile der Standardeingabe enthält eine positive ganze Zahl $N$ ($1\le N\le2{,}000$), die Anzahl der Karten eines Stapels.

Die nächste Zeile enthält die $N$ ganzen Zahlen $A$ ($1\le A\le2{,}000$) auf den Karten des linken Stapels in Kartenreihenfolge.

Die folgende Zeile enthält die $N$ ganzen Zahlen $B$ ($1\le B\le2{,}000$) auf den Karten des rechten Stapels in Kartenreihenfolge.

Jeder Stapel darf zwei oder mehr Karten mit derselben Zahl enthalten.

Ausgabe

Gib die maximal erreichbare Endpunktzahl auf der Standardausgabe aus.

Beispiele

Eingabe 1

3
3 2 5
2 4 1

Ausgabe 1

7

Eingabe 2

4
1 2 3 4
4 1 2 3

Ausgabe 2

6

Teilaufgaben

31 Punkte: $N\le10$.

33 Punkte: $N\le25$.

36 Punkte: keine weiteren Beschränkungen.

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.