#667. 和为最大(sum.cpp)

和为最大(sum.cpp)

Description

给定n个互不相同的数字(n<10000,数字范围在0到100000之内),将这些数字从1开始编号到n。现在要从这n个数字中选出k个数字,使得这k个数字的总和最大。

请你编程实现输出这k个数字的和以及这k个数字的编号(从小到大)。

Format

Input

第一行两个个数字n、k 。

第二行n个用空格隔开的数字。(保证所有数字互不相同)

Output

第一行输出和

第二行输出这k个数字的编号(编号从小到大,用空格分隔)

Samples

8 5
20 30 50 48 33 66 0 64
261
3 4 5 6 8
8 6
20 30 50 80 110 11 0 85
375
1 2 3 4 5 8

Others

对于100%的数据:n,k<=10000,保证n个数字互不相同,且数字<=100000。