#A0667. 苦肉计
苦肉计
题目背景
人不自害,受害必真。假真真假,间以得行。童蒙之吉,顺以巽也。
题目描述
题目英文名(子文件夹名):ku
源代码文件名:ku.cpp
输入文件:ku.in
输出文件:ku.out
33DAI 指挥着 名士兵,构成了一道防线。所有士兵从左到右排成了一排。可以用一个正整数序列 描述这 名士兵的战斗力。
第 名士兵的战斗力为 。为了不被 Kitten 怀疑造反,33DAI 需要把这些士兵的总战斗力归零。为了达成这一目的,他可以进行下面两种操作:
- 如果某名士兵的战斗力不为 ,则可以进行一次操作,将那名士兵的战斗力减少 。
- 如果有 ()名士兵的战斗力相同,则可以进行一次操作,将其中的 名士兵的战斗力变为 ,只留下一个士兵。
33DAI 可以以任何顺序执行任意次数的上述操作,请问至少需要几次操作才能把所有士兵的战斗力之和变为零。
输入格式
第一行一个数 。
第二行 个整数,。
输出格式
一个整数,即最少的操作次数。
6
3 3 1 1 1 3
5
一种可行的操作方法如下:
3 3 1 1 1 3
:初始战斗力0 3 1 1 1 0
:进行 次第二种操作(操作对象为所有战斗力为 的士兵)。0 1 1 1 1 0
:进行 次第一种操作(操作对象为第二个士兵)。0 0 0 0 1 0
:进行 次第二种操作(操作对象为所有战斗力为 的士兵)。0 0 0 0 0 0
:进行 次第一种操作(操作对象为第五个士兵)。
1
2000
2000
5
5 3 1 4 2
9
数据规模与约定
对于 的数据,,。
- 子任务 1(10 分):保证 。
- 子任务 2(20 分):保证 。
- 子任务 3(30 分):保证 。
- 子任务 4(40 分):没有特殊限制。