SZ#G8C33. 评选名单

提交4 通过1
通过率25%
时间限制2000ms
内存限制512MiB
    ID: 12051 传统题 2000ms 512MiB 尝试: 4 已通过: 1 难度: 普及+/提高- 上传者: 标签>GESPGESP强化C++c++编程题组合数学组合数贡献计算

题目描述

题目描述

小婷正在组织一次评选活动,共有 NN 名学生参加。第 ii 名学生的成绩为整数 AiA_i。她需要从中选出恰好 KK 名学生组成一份评选名单。

对于任意一个由有限个整数组成的集合 XX,定义

f(X)=maxXminX.f(X)=\max X-\min X.

一份名单的价值,就是名单中所有学生成绩构成的集合 SSf(S)f(S)。换句话说,它等于名单中的最高成绩减去最低成绩。

即使两名学生的成绩相同,他们仍是不同的人。选择的学生编号不同,就视为不同的名单。因此一共有 (NK)\binom{N}{K} 份可能的名单。

请计算所有名单价值之和。由于答案可能非常大,请输出答案对 109+710^9+7 取模后的结果。

输入格式

第一行输入两个整数 N,KN,K

第二行输入 NN 个整数 A1,A2,,ANA_1,A_2,\ldots,A_N,依次表示每名学生的成绩。

输出格式

输出一个整数,表示所有选法对应的 f(S)f(S) 之和对 109+710^9+7 取模后的结果。

4 2
1 1 3 4
11

样例说明 #1

六种选择得到的极差依次为 0,2,3,2,3,10,2,3,2,3,1,总和为 1111。成绩相同但编号不同的两名学生仍要区分。

6 3
10 10 10 -10 -10 -10
360

样例说明 #2

共有 2020 种名单,其中 1818 种的极差为 2020,另外 22 种的极差为 00,总和为 360360

3 1
1 1 1
0

样例说明 #3

每份名单只包含一名学生,最高成绩与最低成绩相同,所以所有名单的价值均为 00

数据范围与约定

1N1051\le N\le10^51KN1\le K\le NAi109|A_i|\le10^9。输入中的所有数均为整数。