#aBC151E. [ABC151E] Max-Min Sums

[ABC151E] Max-Min Sums

AT_abc151_e [ABC151E] Max-Min Sums

题目描述

对于由有限个整数构成的集合 XX,定义 f(X)=maxXminXf(X) = \max X - \min X

给定 NN 个整数 A1,,ANA_1, \ldots, A_N

从中选择 KK 个数,组成集合 SS。即使数值相同,只要下标不同也视为不同元素。这样的选择方式共有 (NK)\binom{N}{K} 种。请计算所有可能的 SSf(S)f(S) 之和。

由于答案可能非常大,请输出答案对 109+710^9+7 取模后的结果。

输入格式

输入以如下格式从标准输入给出。

NN KK A1A_1 ...... ANA_N

输出格式

请输出答案对 109+710^9+7 取模后的结果。

输入输出样例 #1

输入 #1

4 2
1 1 3 4

输出 #1

11

输入输出样例 #2

输入 #2

6 3
10 10 10 -10 -10 -10

输出 #2

360

输入输出样例 #3

输入 #3

3 1
1 1 1

输出 #3

0

输入输出样例 #4

输入 #4

10 6
1000000000 1000000000 1000000000 1000000000 1000000000 0 0 0 0 0

输出 #4

999998537

说明/提示

限制条件

  • 1N1051 \leq N \leq 10^5
  • 1KN1 \leq K \leq N
  • Ai109|A_i| \leq 10^9

样例解释 1

SS 的选法有 $\{1,1\}, \{1,3\}, \{1,4\}, \{1,3\}, \{1,4\}, \{3,4\}$ 共 66 种(两个 11 视为不同),每种 f(S)f(S) 分别为 0,2,3,2,3,10,2,3,2,3,1,所以总和为 1111

样例解释 2

SS 的选法有 2020 种,其中 1818f(S)=20f(S)=2022f(S)=0f(S)=0

样例解释 4

请输出答案对 109+710^9+7 取模后的结果。

由 ChatGPT 4.1 翻译