QOJ.ac

QOJ

Límite de tiempo: 1.0 s Límite de memoria: 256 MB Puntuación total: 100 Hackeable ✓

#12107. 直线

Estadísticas

Aibar 是第 31 连的指挥官。连队的士兵排成两列——前排和后排。每一列都有相同数量的士兵,且士兵按身高非递减的顺序排列。

合适的队形是前排的每一名士兵都比他身后后排的士兵矮。为了达到这种队形,Aibar 想出了一个巧妙的算法。

他从两列中选择位置相同的一对士兵,其中前排的士兵比后排对应的士兵高。如果有多个这样的位置,他会选择最靠前的一个。他命令这两名被选中的士兵交换位置,然后将每一列重新按身高非递减的顺序排列。重复这些操作,直到达到合适的队形。

Aibar 想预先知道需要命令多少对士兵交换位置。

输入格式

第一行包含一个整数 $N$ ($1 \le N \le 10^6$),表示每列士兵的人数。接下来的两行分别包含序列 $A$ 和 $B$ ($1 \le A_i, B_i \le N$),分别表示前排和后排士兵的身高。

保证初始时,每一列的士兵都按身高非递减的顺序排列。

输出格式

输出一个整数,表示达到合适队形所需的交换次数。

子任务

本题由 5 个子任务组成,满足以下约束:

  1. $N \le 1000$。分值 16 分。
  2. $N \le 8000$。分值 13 分。
  3. $A_i, B_i \le 300, N \le 3 \times 10^5$。分值 20 分。
  4. $N \le 3 \times 10^5$。分值 43 分。
  5. 仅满足题目描述中的约束。分值 8 分。

样例

输入 1

3
2 2 3
1 1 2

输出 1

2

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.