fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. long long solve(int n, vector<int>v, int m){
  5. priority_queue<long long>pq;
  6. sort(v.begin(),v.end());
  7. for(int i=0; i<min(n,m); i++){
  8. pq.push(-v[i]);
  9. }
  10. for(int i=m; i<min(n,m); i++){
  11. int val=-pq.top()+v[i];
  12. pq.pop();
  13. pq.push(-val);
  14. }
  15. long long ans=0;
  16. while(!pq.empty()){
  17. ans=max(ans,-pq.top());
  18. pq.pop();
  19. }
  20. return ans;
  21. }
  22.  
  23. int main() {
  24. int n, m;
  25. cin>>n>>m;
  26. vector<int>v(n);
  27. for(int i=0; i<n; i++){
  28. cin>>v[i];
  29. }
  30. cout<<solve(n,v,m);
  31. return 0;
  32. }
Success #stdin #stdout 0s 5564KB
stdin
4
2 8 7 10
3
stdout
7