DH分组员

时间限制: 1000 ms 内存限制: 65536 kb
总通过人数: 0 总提交人数: 1

题目描述

最近DH 接手了一个项目组,这个项目组分为$N$个小组,第$i$个小组有$a_i$人,但他觉得这个分组方式不合理,想要换一种分组方式。DH的分组方式是把所有人平均分为$K$组,但他也不想搞得太麻烦,就决定在重新分组时,只采取下面两种操作方法:

1、把两个相邻组合成一组,新组人数为原两组之和;

2、把一组拆成相邻的两组,两组人数可以随意设置,但总人数要等于原来那一组的人数。

问DH最少需要进行多少次操作才可以完成重新分组?

输入

第一行两个整数$N$,$K$($1 \leq N,K \leq 100000$)

第二行$N$个整数,$a_1$,$a_2$,$...$,$a_n$($1 \leq a_i \leq 100000$)

输出

如果可以DH可以完成分组,输出最少操作次数,否则输出$-1$

输入样例1

1 3
14

输出样例1

-1

输入样例2

3 1
2 3 4

输出样例2

2

输入样例3

3 6
1 2 3

输出样例3

3

相关推荐