#B4468. [山西编程未来星 2025] 符号选择 / opt

    ID: 16866 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 显示难度入门 上传者: 标签>2025O2优化排序山西数组科创活动小学活动

[山西编程未来星 2025] 符号选择 / opt

题目描述

给定一个包含 nn 个自然数的序列 x1,x2,...,xnx_1,x_2,...,x_n。

现在要对序列中的每个数 xix_i 赋予一个正号(+xi+x_i)或负号(−xi-x_i),然后求和。

特别的,在 nn 个数中,必须 恰好 有 kk 个数使用正号,其余 n−kn-k 个数使用负号。

求这种操作下,得到的 最大总和 是多少。

输入格式

第一行包含两个整数 nn 和 kk,分别表示序列的长度和必须选择加号的次数。

第二行包含 nn 个自然数 x1,x2,...,xnx_1,x_2,...,x_n,表示给定的序列,保证 x1≥x2≥...≥xnx_1\ge x_2\ge...\ge x_n。

输出格式

一行,包含一个整数,表示能够得到的最大总和。

3 2
5 2 1
6

提示

【数据范围】

对于 20%20\% 的数据,1≤n≤101\le n\le10。

对于另外 10%10\% 的数据,n=kn=k。

对于另外 10%10\% 的数据,每个 xix_i 相等。

对于 100%100\% 的数据,1≤k≤n≤105,0≤xi≤1091\le k\le n\le10^5,0\le x_i\le10^9。