fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n, x, y;
  6. int maxTip=INT_MIN;
  7. cin>>n>>x>>y;
  8. vector<int> A, B;
  9. vector<int> C(n);
  10. for(int i=0;i<n;i++)
  11. {
  12. int element;
  13. cin>>element;
  14. A.push_back(element);
  15. }
  16. for(int i=0;i<n;i++)
  17. {
  18. int element;
  19. cin>>element;
  20. B.push_back(element);
  21. }
  22. for(int i=0;i<n;i++){
  23. C[i]=A[i]-B[i];
  24. }
  25. int oldSum=0;
  26. for(int i=0;i<n;i++)
  27. oldSum+=B[i];
  28. sort(C.rbegin(), C.rend());
  29. vector<int> prefix(n,0);
  30. prefix[0]=C[0];
  31. for(int i=1;i<=n;i++)
  32. prefix[i]=prefix[i-1]+C[i];
  33. //here 'i' is the number of orders so it should go from 0 to n
  34. for(int i=0;i<n;i++){
  35. if((i<=x) && (n-i<=y)){
  36. int newSum = oldSum + prefix[i];
  37. maxTip=max(newSum, maxTip);
  38. }
  39. }
  40. cout<<maxTip;
  41. return 0;
  42. }
Success #stdin #stdout 0s 5320KB
stdin
5 3 3
1 2 3 4 5
5 4 3 2 1
stdout
21