Advertisement
MatveyL

taxi

Mar 17th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <queue>
  4. #include <math.h>
  5. #include <algorithm>
  6.  
  7. using namespace std;
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14. int main (){
  15.  
  16.  
  17. int n,h;
  18. vector<pair<int,int>>ans;
  19. vector<pair<int,pair<int,int>>>A;
  20. auto B = A;
  21. cin>>n;
  22. for ( int i = 0 ; i < n ; i++ ){
  23. cin>>h;
  24. A.push_back({h,{0,i}});
  25. }
  26. for ( int i = 0 ; i < n ; i++ ){
  27. cin>>h;
  28. B.push_back({h,{0,i}});
  29. }
  30. int maxa = 10001;
  31.  
  32.  
  33. int max = 0, it1 = 0;
  34. int min, it2 = 0;
  35. for ( int i = 0 ; i < n ; i++ ){
  36. min = maxa;
  37. it1 = i;
  38. it2 = i;
  39. for ( int j = 0 ; j < n ; j++ ){
  40. if(max < B[j].first && B[j].second.first == 0 ){
  41. max = B[j].first;
  42. it1 = j;
  43. }
  44. if(min > A[j].first && A[j].second.first == 0 ){
  45. min = A[j].first;
  46. it2 = j;
  47. }
  48. }
  49. A[it2].second.first = 1;
  50. B[it1].second.first = 1;
  51. ans.push_back({it2,it1});
  52. max = 0;
  53.  
  54. }
  55. //for(int i = 0 ; i < n ; i ++){
  56. // cout<<ans[i].first<<" "<<ans[i].second<<endl;
  57. //}
  58.  
  59. sort(ans.begin() , ans.end());
  60.  
  61.  
  62. //for(int i = 0 ; i < n ; i ++){
  63. // cout<<ans[i].first<<" "<<ans[i].second<<endl;
  64. //}
  65. for(int i = 0 ; i < n ; i ++){
  66. cout<<ans[i].second+1<<" ";
  67. }
  68. cout<<endl;
  69.  
  70.  
  71. return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement