#P16316. [Ucpc2023初赛]五位勇者之剑

[Ucpc2023初赛]五位勇者之剑

题目描述

为了击败从五千年封印中苏醒的魔王,你踏上了冒险之旅。

在森林中,一名神秘男子拿出五把剑,并告诉你:五千年前的五位勇者中,只有持有最强之剑的人才能封印魔王。

每把剑都有一个正整数攻击力,但无法直接看出其具体数值。你已经求出了每把剑可能具有的攻击力集合。

设第 ii 把剑的候选集合为 AiA_i

任意两把不同的剑,其候选集合没有公共元素。因此,无论实际攻击力如何,五把剑的攻击力都互不相同。

你可以进行若干次测试。一次测试的过程如下:

  1. 选择一个正整数 mm
  2. 找到一块硬度为 mm 的岩石;
  3. 分别用五把剑各砍一次。

若岩石出现裂缝,则该剑的攻击力严格大于 mm;否则,该剑的攻击力不大于 mm

每次选择的 mm 可以根据此前所有测试结果自适应决定。

你的目标不是确定每把剑的准确攻击力,而是确定哪一把剑的攻击力最大。

你希望采用最优策略,使得在所有可能的实际攻击力组合中,需要进行的测试次数的最大值尽可能小。

求这个最小的最坏测试次数。

输入格式

输入共五行。

ii 行首先包含一个整数 Ai|A_i|,随后按严格递增顺序给出集合 AiA_i 的所有元素。

输出格式

输出一个整数,表示采用最优策略时,为了确定最强之剑,在最坏情况下最少需要进行多少次测试。

数据范围

对于每个 ii

Ai1.|A_i|\ge 1.

所有集合大小之和满足

i=15Ai50000.\sum_{i=1}^{5}|A_i|\le 50\,000.

所有给出的攻击力均为不超过 10910^9 的正整数。

任意两个给出的攻击力都互不相同。

样例 1

输入

1 1
3 10 30 50
1 2
2 20 40
1 3

输出

2

样例 2

输入

2 1 2
2 3 4
3 100 200 300
2 5 6
2 7 8

输出

0

说明

在样例 1 中,假设五把剑的实际攻击力依次为

1,30,2,20,3.1,30,2,20,3.

一种测试过程如下:

  1. 先使用硬度为 3030 的岩石。结果是所有剑都无法使岩石产生裂缝;
  2. 再使用硬度为 1010 的岩石。结果是第 2,42,4 把剑可以使岩石产生裂缝,第 1,3,51,3,5 把剑不能。

由这两次结果可以确定第 22 把剑最强。无论各把剑的实际攻击力如何,都可以在最多两次测试内找到最强的剑。

在样例 2 中,即使不做任何测试,也能直接确定第 33 把剑一定最强。