一道小学生题,排序一下取前面的加起来,注意不要越界。
#include<iostream>
#include<algorithm>
#include<vector>
#include<functional>
using namespace std;
int main()
{
int n, m;//n为有n堆糖果,m为能拿多少次
long long result=0;//最后能拿多少
cin >> n >> m;
vector<long long> v(n);
for (int i = 0;i < n;i++)
{
cin >> v[i];
}
sort(v.begin(), v.end(), greater<long long>());//降序
for (int i = 0;i < m;i++)
{
result += v[i];
}
cout << result;
return 0;
}