CF1773E.Easy Assembly

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Emma 喜欢玩积木,她有若干相同大小的、标有不同数字的积木,将它们竖直堆放。

现在,她可以进行以下操作:

  • 分裂:从将一堆积木(数量大于 11)的顶端拿出若干块,按原来的顺序放在地上形成一堆新的积木。操作后积木堆数加一;

  • 合并:将一堆积木全部按原来的顺序全部堆到另一堆积木的顶端。操作后积木堆数减一。

她想让所有木块形成一堆且积木上的数字由顶端到底端升序排列。请求出最小操作次数。

输入格式

第一行一个整数 nn(1≤n≤10 0001\le n\le 10\,000)表示初始积木堆数。

接下来 nn 行,第 ii 行开始一个整数 kik_i(ki≥1k_i\ge 1;∑i=1nki≤10 000\sum\limits_{i=1}^n k_i\le 10\,000)表示该堆木块数量。接下来 kik_i 个整数 bi,jb_{i,j}(1≤bi,j≤1091\le b_{i,j}\le 10^9),依次表示从顶端到底端的积木上的数字。

保证所有积木上的数字不同。

输出格式

一行两个整数 ss 和 cc,表示在总操作数最小的情况下分裂和合并操作的次数。

样例解释

四张图依次是:初始状态、将最后一堆分裂、将第二堆合并入第一堆、将第一堆合并入第二堆。

\qquad\qquad\qquad\qquad\qquad\qquad

输入输出样例

  • 输入#1

    2
    3 3 5 8
    2 9 2

    输出#1

    1 2

输入解题思路,AI测评打分。不知道怎么写?

首页