SP14049 VOLNTEER - Annual Day
题目描述
DACT 小学的小朋友们都非常期待即将到来的一年一度的校园日。在这一天,学生不仅能展示他们的项目和艺术作品,还能在舞台上为在场的家长和嘉宾表演。由于组织这种大型活动需要大量工作,仅靠老师们的力量是不够的。因此,他们决定请一些学生担任志愿者,帮大家分担一些任务。
你是一个幼儿园班的班主任,班里有 $N$ 名学生,你需要从中挑选出恰好 $k$ 名学生作为志愿者。幸运的是,所有孩子都乐于帮助。但你非常清楚,不少孩子太顽皮,可能在中途就开始玩闹而忘掉正事。因此,你需要聪明地挑选出合适的学生,以避免这样的情况发生。
经过长时间的观察,你已经了解每个孩子的淘气程度,并给每个学生设定了一个 "善良度" 分数,分数越高,表示该学生越不淘气。你可以用这些个人的善良度分数来计算一组学生的总分,计算方法如下:
$$
\text{Goodness}(a_1, a_2, \ldots, a_n) = (|a_1| + |a_2| + \ldots + |a_n|) \times (-1)^r
$$
其中,$a_1, a_2, \ldots, a_n$ 代表这组学生的善良度分数,而 $r$ 是这组里淘气学生的数量。(**注意**:淘气学生指的是那些善良度分数为负的学生。)
另外,$|x|$ 表示 $x$ 的绝对值。(如果 $x > 0$,则 $|x| = x$;否则 $|x| = -x$)。
现在,根据班上所有学生的善良度分数,你需要从中挑选出恰好 $k$ 名学生,以使得他们小组的善良度分数最大。
### 输入格式
第一行包含两个空格分开的整数 $N$ 和 $k$($1 \le k \le N \le 10^5$)。$N$ 是班级总学生人数,$k$ 是需要选出的学生数量。
第二行包含 $N$ 个空格分隔的整数 $a_1, a_2, \ldots, a_N$,其中 $a_i$ 是第 $i$ 个学生的善良度分数($|a_i| \le 10^9$)。
### 输出格式
输出一行,为你挑选出的恰好 $k$ 名学生组成的小组可以得到的最大善良度分数。
### 示例
```
输入 #1:
10 1
1 2 3 4 5 6 7 8 -9 9
输出 #1:
9
输入 #2:
10 3
1 2 3 4 5 6 7 -8 -9 9
输出 #2:
26
输入 #3:
3 3
12 78 2
输出 #3:
92
```
**解释**:
- 输入 #1:由于你需要选择一名学生,所以挑选善良度分数最高的,答案是 9。
- 输入 #2:最佳结果是选择分数为 { -8, -9, 9 } 的学生。最终分数为:$(|-8| + |-9| + |9|) \times (-1)^2 = 26 \times 1 = 26$。
- 输入 #3:因为只有三个学生,必须全都选择,所以答案是 92。
**本翻译由 AI 自动生成**
输入格式
无
输出格式
无