题目:
问题描述
kAc有n堆糖果,每堆有A[i]个。
kAc说你只能拿m次糖果,聪明的你当然想要拿最多的糖果来吃啦啦啦~
//第二天,kAc问你还想吃糖果么?(嘿嘿嘿)说着眼角路出奇怪的微笑...输入格式
第一行两个数字n和m,第二行有n个数字A[i]。
输出格式
输出一行表示最多能拿几个糖果。
样例输入
2 2
1 2样例输出
3
数据规模和约定
0<n≤1000
其余数字都是不超过1,000,000,000的非负整数。
前言:
这道题很诡异啊,刚开始看的时候。还特地查了一下有没有哪里有坑,结果是一道水题……
开始:
其实就是问:有 n 堆糖果,每堆的糖果数都不一样,你只能拿 m 堆,怎么拿糖果最多。
就对糖果堆进行排序嘛,从最多的开始拿就行。
代码:
#include<iostream>
using namespace std;
#include<algorithm>
int main()
{
int n, m;
cin >> n >> m;
int A[1000];
for (int i = 0; i < n; i++) cin >> A[i];
//降序排序
sort(A, A + n, greater<int>());
long long add = 0;
for (int i = 0; i < m; i++) add += A[i];
cout << add;
return 0;
}
结束:
…………