P7874 题解
cancan123456 · · 题解
首先假设我们只有两个账号,那么只能这么发:12121212…(第i个数表示发第i个帖子的账号编号)
然后第一个数和第二个数是不能变的,然后假设我们又有了一个账号,那么我们肯定要选剩下的数中最大的。
所以我们对
Tips:开long long.
代码:
#include <cstdio>
#include <algorithm>
using namespace std;
#define maxn 10005
int a[maxn];
void inline solve() {
int n, k;
scanf("%d %d", &n, &k);
for (int i = 0; i < n; i++) {
scanf("%d", a + i);
}
long long ans = a[0] + a[1];
sort(a + 2, a + n);
for (int i = n - 1; i >= n - (k - 2); i--) {
ans += a[i];
}
printf("%lld\n", ans);
}
int main() {
int t;
scanf("%*d %d", &t);
for (int i = 1; i <= t; i++) {
solve();
}
return 0;
}