QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 32 MB Total points: 100

#471. 圆盘

Statistics

小约翰收到了父母送的生日礼物,这是一个由管子和一套圆盘组成的玩具。这个管子的形状很特别,它由若干个高度相同的圆柱体组成,圆柱体中心开有不同直径的同轴孔。管子底部封闭,顶部开口。下图展示了一个由直径分别为 5cm、6cm、4cm、3cm、6cm、2cm 和 3cm 的孔组成的管子示例。

小约翰玩具中的圆盘是直径各不相同、高度与构成管子的圆柱体高度相同的圆柱体。

小约翰发明了一个游戏:给定一组圆盘,他想知道当这些圆盘依次投入管子中心时,最后一个圆盘会停在什么深度。例如,如果我们依次投入直径为 3cm、2cm 和 5cm 的圆盘,情况如下:

如你所见,每个圆盘投入后都会下落,直到被卡住(即它落在了一个孔径小于圆盘直径的圆柱体上方),或者被障碍物挡住:管子底部或已经停下的另一个圆盘。

由于游戏难度较大,小约翰经常向父母求助。由于小约翰的父母不喜欢这类智力游戏,他们请求你——他们的一位程序员朋友——编写一个程序来回答小约翰的问题。

任务

编写一个程序,完成以下工作:

  • 从标准输入读取管子和圆盘的描述;
  • 计算小约翰投入的最后一个圆盘停下的深度;
  • 将结果写入标准输出。

输入格式

第一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 300\,000$),分别表示管子的高度(即构成管子的圆柱体数量)和圆盘的数量,中间用空格隔开。第二行包含 $n$ 个整数 $r_1, r_2, \dots, r_n$ ($1 \le r_i \le 1\,000\,000\,000$,$1 \le i \le n$),表示从上到下依次排列的圆柱体孔径,中间用空格隔开。第三行包含 $m$ 个整数 $k_1, k_2, \dots, k_m$ ($1 \le k_j \le 1\,000\,000\,000$,$1 \le j \le m$),表示小约翰依次投入的圆盘直径,中间用空格隔开。

输出格式

输出仅一行,包含一个整数,表示最后一个圆盘停下的深度。如果圆盘根本无法进入管子,则输出 0。

样例

输入 1

7 3
5 6 4 3 6 2 3
3 2 5

输出 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.