fork download
  1. #include <cmath>
  2. #include <cstdio>
  3. #include <vector>
  4. #include <iostream>
  5. #include <algorithm>
  6. #include <string>
  7.  
  8. using namespace std;
  9. #define FOR(i,a,b) for(int i=(a);i<=(b);i++)
  10. #define LLI long long int
  11.  
  12. bool compare(const pair<float,string>&i, const pair<float,string>&j)
  13. {
  14. return i.first > j.first;
  15. }
  16.  
  17. int main()
  18. {
  19. int n,x,y;
  20. cin>>n>>x>>y;
  21. int A[n],B[n];
  22. for(int i=0;i<n;i++)
  23. cin>>A[i];
  24. vector < pair<int,int> > diff;
  25. FOR(i,0,n-1)
  26. cin>>B[i];
  27. FOR(i,0,n-1)
  28. {
  29. diff.push_back(make_pair(A[i]-B[i],i));
  30. }
  31. sort(diff.begin(),diff.end());
  32. int a=0,b=0,sum=0;
  33. for(vector< pair<int,int> >::iterator v=diff.begin();v!=diff.end();v++)
  34. {
  35. if(v->first<=0 && a<x)
  36. {
  37. sum+=B[v->second];
  38. a++;
  39.  
  40. }
  41. else if(v->first>0 && b<y)
  42. {
  43. sum+=A[v->second];
  44. b++;
  45.  
  46. }
  47. else if(a>=x && b<y)
  48. sum+=A[v->second];
  49. else
  50. sum+=B[v->second];
  51.  
  52. }
  53. cout<<sum;
  54.  
  55. }
Success #stdin #stdout 0s 3436KB
stdin
4 1 3
7 5 2 2
6 2 9 8
stdout
23