fork download
  1. #include <bits/stdc++.h>
  2. #define int long long
  3. using namespace std;
  4.  
  5.  
  6. void solve() {
  7. int n,k;
  8. cin>>n>>k;
  9. vector<int> v(n);
  10. for(int i=0;i<n;i++)cin>>v[i];
  11. sort(v.begin(),v.end());
  12. vector<int> p(n);
  13. p[0]=v[0];
  14. for(int i=1;i<n;i++){
  15. p[i]=v[i]+p[i-1];
  16. }
  17. int i=1;
  18. int j=n-1;
  19. int prev=0;
  20. for(int z=0;z<k;z++){
  21. if(p[i]-prev<=v[j]){
  22. i+=2;
  23. prev=p[i];
  24. }
  25. else{
  26. j--;
  27. }
  28. }
  29. int sum=0;
  30. for(int l=i-1;l<=j;l++){
  31. sum+=v[l];
  32. }
  33. cout<<sum<<endl;
  34.  
  35.  
  36.  
  37. }
  38.  
  39. signed main() {
  40. int t;
  41. cin >> t;
  42. while (t--) {
  43. solve();
  44. }
  45. return 0;
  46. }
  47.  
Success #stdin #stdout 0.01s 5288KB
stdin
6
5 1
2 5 1 10 6
5 2
2 5 1 10 6
3 1
1 2 3
6 1
15 22 12 10 13 11
6 2
15 22 12 10 13 11
5 1
999999996 999999999 999999997 999999998 999999995
stdout
21
10
3
62
37
3999999986