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> p1(n);
  13. vector<int> p2(n);
  14. p1[0]=v[0];
  15. for(int i=1;i<n;i++){
  16. p1[i]=p1[i-1]+v[i];
  17. }
  18. p2[n-1]=v[n-1];
  19. for(int i=n-2;i>=0;i--){
  20. p2[i]=p2[i+1]+v[i];
  21. }
  22. int sum=p1[n-1];
  23. int ans=0;
  24. for(int i=0;i<=k;i++){
  25. int m=2*(i)-1;
  26. int l=n-k+i;
  27. int a=(m<=0?0:p1[m]);
  28. int b=(l>=n?0:p2[l]);
  29. int ans2=(sum-(a+b));
  30. ans=max(ans,ans2);
  31.  
  32. }
  33. cout<<ans<<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 0s 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
11
3
62
46
3999999986