蓝桥杯 算法训练 kAc给糖果你吃
题目描述
- 资源限制
时间限制:1.0s 内存限制:256.0MB
- 问题描述
kAc有n堆糖果,每堆有A[i]个。
kAc说你只能拿m次糖果,聪明的你当然想要拿最多的糖果来吃啦啦啦~
//第二天,kAc问你还想吃糖果么?(嘿嘿嘿)说着眼角路出奇怪的微笑...
- 输入格式
第一行两个数字n和m,第二行有n个数字A[i]。
- 输出格式
输出一行表示最多能拿几个糖果。
- 样例输入
2 2
1 2
- 样例输出
3
- 数据规模和约定
0<n≤1000
其余数字都是不超过1,000,000,000的非负整数。
方案1 最简单的贪心
#include<iostream>
#include<algorithm>
using namespace std;
int n;
int m;
int candy[1000];
long long int ans;
int main(){
cin>>n>>m;
for(int i=0; i<n; i++){
cin>>candy[i];
}
sort(candy, candy+n);
m = m>n?n:m;
for(int i=0; i<m; i++){
ans += candy[n-i-1];
}
cout<<ans<<endl;
return 0;
}