#D0880. 能量晶石

能量晶石

题目描述

小 A 需要将 NN 枚能量晶石全部分配给 KK 个能量核心,并满足以下条件:

  1. 每个核心至少分到 11 枚晶石;
  2. 所有核心分到的晶石数量互不相同;
  3. 在满足前两条的前提下,让晶石最多的核心与最少的核心之间的差值尽可能小。

如果无法满足前两条,输出 1-1;否则输出这个最小差值。

输入格式

一行两个整数 NNKK

输出格式

一个整数,表示最小差值或 1-1

样例

5 3
-1
6 3
2
8 3
3

样例解释

  • 样例 1:K=3K=3,互不相同且至少 11 枚的最少方案为 1,2,31,2,3,总和 6>56 > 5,晶石不足,无法分配。
  • 样例 2:恰好 1+2+3=6=N1+2+3 = 6 = N,分配为 1,2,31,2,3,差值 31=23-1=2
  • 样例 3:N=8N=8,比最少方案(1,2,31,2,3)多 22 枚。将多余晶石均匀加到后两个核心得到 1,3,41,3,4,差值 41=34-1=3(若都加到第三个核心上,结果为 1,2,51,2,5 ,差值为 44,不如 33)。

数据范围与约定

子任务 分值 限制
11 3030 N20N \le 20
22 7070 2N1052 \le N \le 10^52K10002 \le K \le 1000

对于 100%100\% 的数据,2N1052 \le N \le 10^52K10002 \le K \le 1000