Type: Default 1000ms 256MiB

交朋友的数学诡计

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

一场比赛结束后,组织者要把 n 名选手分成 m 个小组,要求:

  • 每个小组至少有 1 名选手;
  • 每名选手恰好属于一个小组。

分完组后,同一个小组里的任意两名选手都会成为朋友,不同小组的选手之间不会成为朋友。

也就是说,一个小组里如果有 k 名选手,这个小组内部就贡献 (k2)=k(k−1)2\binom{k}{2}=\dfrac{k(k-1)}{2} 对朋友;朋友总数就是各小组贡献之和。

组与组之间不区分——把两个组的人数对调,仍算同一种分法,朋友对数也不变。所以一种分法看成"每组各有多少人"就够了。

不同的分法,朋友对数不一样。例如 n = 5、m = 2 时,可以分成 4 + 1(朋友数 6 + 0 = 6),也可以分成 3 + 2(朋友数 3 + 1 = 4)。

请你求出:在所有分法中,朋友总对数的最小值和最大值。

输入格式

一行两个整数 n 和 m,中间用一个空格隔开。

输出格式

一行两个整数,中间用一个空格隔开:第一个是最少的朋友对数,第二个是最多的朋友对数。

数据范围

1≤m≤n≤1091 \le m \le n \le 10^9

样例

5 1
10 10
5 2
4 6

样例解释

样例 1:m = 1,只有一种分法——5 个人全在一组,朋友数 (52)=10\binom{5}{2}=10,所以最小值和最大值都是 10。

样例 2:5 个人分 2 组,只有 4 + 1 和 3 + 2 两种分法。前者贡献 6 + 0 = 6 对,后者贡献 3 + 1 = 4 对,所以最少 4 对、最多 6 对。

验题

Not Attended
Status
Done
Rule
XCPC
Problem
18
Start at
2026-9-16 19:00
End at
2026-9-26 19:00
Duration
240 hour(s)
Host
Partic.
12