cd 1430 B
找到你输入的n个水桶的k+1个最大值输出就ok了
#include<bits/stdc++.h>
#pragma GCC optimize(3)
#pragma GCC optimize(2)
using namespace std;
typedef long long ll;
const int mod = 1e9 + 7;
const int maxn = 1000010;
ll n, m, k, i, j, t;
ll ans, num, sum, cnt;
ll a[maxn], b[maxn], vis[maxn], lsh[maxn];
vector<vector<ll> >mp;
template <typename T>
void read(T& x) /*¿ì¶Á*/
{
x = 0;
int f = 1;
char ch = getchar();
while (!isdigit(ch))
{
if (ch == '-')
f = -1;
ch = getchar();
}
while (isdigit(ch))
{
x = x * 10 + (ch ^ 48);
ch = getchar();
}
x *= f;
return;
}
template <typename T>
void write(T x) /*¿ìд*/
{
if (x < 0)
{
putchar('-');
x = -x;
}
if (x > 9)
write(x / 10);
putchar(x % 10 + '0');
return;
}
int main()
{
read(t);
while (t--)
{
read(n), read(k);
for (i = 1; i <= n; i++)
read(a[i]);
sort(a+1, a + n+1);
ans = a[n];
for (i = 1; i <= k; i++)
ans += a[n - i];
cout << ans << endl;
}
return 0;
}