可获得的最小取值


提交答案

分数: 2
时间限制: 1.0s
内存限制: 64M

作者:
题目类型
允许的语言
C++, Java

问题描述

妮妮学姐手头有一个长度为n的数组a,她想进行k次操作来取出数组中的元素。每次操作必须选择以下两种操作之一:

  • 取出数组中的最大元素。
  • 取出数组中的最小元素和次小元素。

妮妮学姐希望在进行完k次操作后,取出的数的和最小。她感觉有些困难,于是请擅长贪心的你帮助她解决这个问题。

输入格式

第一行输入两个整数n和k,表示数组长度和操作次数。 第二行输入n个整数表示数组a。

数据范围保证3≤n≤2*\(10^5\),1≤ai≤\(10^9\),1≤k≤99999,2k<n

样例输入

5 1
2 5 1 10 6

样例输出

3

说明

对于样例,我们通过操作2取出1和2 ,可以获得最小值。


评论

目前没有评论。