CF1257E The Contest
题目描述
有三名程序员组成的队伍要参加一场比赛。比赛共有 $n$ 道题目,编号从 $1$ 到 $n$。每道题目都印在单独的一张纸上。参赛者们决定将题目分为三部分:第一位程序员拿题目的前缀(若干张最前面的纸),第三位程序员拿题目的后缀(若干张最后面的纸),第二位程序员拿剩下的所有题目。但出现了意外——题目被打乱了顺序,参赛者们随机拿到了题目。
第一位参赛者拿到了题目 $a_{1, 1}, a_{1, 2}, \dots, a_{1, k_1}$。第二位参赛者拿到了题目 $a_{2, 1}, a_{2, 2}, \dots, a_{2, k_2}$。第三位参赛者拿到了剩下的题目($a_{3, 1}, a_{3, 2}, \dots, a_{3, k_3}$)。
参赛者们不想在重新分配题目之前开始比赛。他们希望重新分配,使得第一位参赛者拿到题目的某个前缀,第三位参赛者拿到题目的某个后缀,第二位参赛者拿到剩下的所有题目。
每次操作中,某位参赛者可以将自己的一道题目交给其他参赛者。请问,最少需要多少次操作才能完成题目的重新分配?
重新分配后,可能会有某位(甚至两位)参赛者没有任何题目。
输入格式
第一行包含三个整数 $k_1, k_2, k_3$($1 \le k_1, k_2, k_3 \le 2 \times 10^5, k_1 + k_2 + k_3 \le 2 \times 10^5$),分别表示第一、二、三位参赛者最初拿到的题目数量。
第二行包含 $k_1$ 个整数 $a_{1, 1}, a_{1, 2}, \dots, a_{1, k_1}$,表示第一位参赛者最初拿到的题目编号。
第三行包含 $k_2$ 个整数 $a_{2, 1}, a_{2, 2}, \dots, a_{2, k_2}$,表示第二位参赛者最初拿到的题目编号。
第四行包含 $k_3$ 个整数 $a_{3, 1}, a_{3, 2}, \dots, a_{3, k_3}$,表示第三位参赛者最初拿到的题目编号。
保证没有题目被两位(或三位)参赛者同时拿到,并且每个 $a_{i, j}$ 满足 $1 \le a_{i, j} \le n$,其中 $n = k_1 + k_2 + k_3$。
输出格式
输出一个整数,表示最少需要多少次操作,才能将题目重新分配为:第一位参赛者拿到题目的前缀,第三位参赛者拿到题目的后缀,第二位参赛者拿到剩下的所有题目。
说明/提示
在第一个样例中,第三位参赛者应将题目 $2$ 给第一位参赛者,这样第一位参赛者拿到前 $3$ 道题,第三位参赛者拿到最后 $1$ 道题,第二位参赛者拿到剩下的 $1$ 道题。
在第二个样例中,题目的分配已经符合要求:第一位参赛者拿到前 $3$ 道题,第三位参赛者拿到最后 $1$ 道题,第二位参赛者拿到剩下的 $2$ 道题。
在第三个样例中,最优做法是将所有题目都交给第三位参赛者。
在第四个样例中,最优做法是将所有题目都交给第二位参赛者。
由 ChatGPT 4.1 翻译