2023 软件学院 ACM 集训队筛选赛

Problem G. 我推的孩子

"你有想过如果能作为艺人的孩子诞生会怎么样吗?如果从一生下来就拥有出色的容貌和人脉的话会怎么样?"

/uploads/20230610/16863273213620.jpg

Serein 向来很崇拜那些说唱才艺天赋很高的人,比如 TensionA1m,希望自己的说唱才艺也能如此之高。但是可惜现实世界没有魔法,无法重生。于是 Serein 通过自己所学技术,创造了一款名为《说唱宠物》的游戏。在这里你需要将 n 只宠物的才艺天赋重新分配为 m 只宠物,保证 m 只宠物的才艺天赋值相同,且才艺天赋值为整数。为了完成此任务,你可以做如下操作:

  1. 将一只宠物分为两只新宠物,分配一定的才艺天赋给新宠物,其总和应等于原来这只宠物的才艺天赋值。注意:一只宠物分为两只后仍在原本的相对位置且新两只保持相邻。
  2. 将位置相邻的两只宠物融合进化为一只新的宠物,这只新的宠物的才艺天赋值为这两只宠物的和。

为了让你更加清楚这两种操作,可参考下面操作:

/uploads/20230609/16862732685080.png

Serein想知道完成此任务的最小操作数,请你帮助他。

输入

输入两个整数 nm1 \leq n,m \leq 10^6),即原本的宠物数 n 和新宠物数 m

第二行包含 n 数字 a_1,a_2 \dots ,a_n1\leq a_i \leq 10^6),表示 n 只宠物的才艺天赋值。

输出

输出最小操作数。若无法完成此任务,则输出-1

样例

标准输入 复制文本
2 3
1 1
标准输出 复制文本
-1
标准输入 复制文本
2 3
1 2
标准输出 复制文本
1
标准输入 复制文本
2 1
1 2
标准输出 复制文本
1

登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 107
通过 24

A B C D E F G H

赛后有滚榜,有兴趣可留下来观看。
H题时限开大,题目重判中
F题补充限制条件:每个非叶子节点必须拥有两个子节点。
G题中的才艺天赋值必须为整数