Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <queue>
- #include <math.h>
- #include <algorithm>
- using namespace std;
- int main (){
- int n,h;
- vector<pair<int,int>>ans;
- vector<pair<int,pair<int,int>>>A;
- auto B = A;
- cin>>n;
- for ( int i = 0 ; i < n ; i++ ){
- cin>>h;
- A.push_back({h,{0,i}});
- }
- for ( int i = 0 ; i < n ; i++ ){
- cin>>h;
- B.push_back({h,{0,i}});
- }
- int maxa = 10001;
- int max = 0, it1 = 0;
- int min, it2 = 0;
- for ( int i = 0 ; i < n ; i++ ){
- min = maxa;
- it1 = i;
- it2 = i;
- for ( int j = 0 ; j < n ; j++ ){
- if(max < B[j].first && B[j].second.first == 0 ){
- max = B[j].first;
- it1 = j;
- }
- if(min > A[j].first && A[j].second.first == 0 ){
- min = A[j].first;
- it2 = j;
- }
- }
- A[it2].second.first = 1;
- B[it1].second.first = 1;
- ans.push_back({it2,it1});
- max = 0;
- }
- //for(int i = 0 ; i < n ; i ++){
- // cout<<ans[i].first<<" "<<ans[i].second<<endl;
- //}
- sort(ans.begin() , ans.end());
- //for(int i = 0 ; i < n ; i ++){
- // cout<<ans[i].first<<" "<<ans[i].second<<endl;
- //}
- for(int i = 0 ; i < n ; i ++){
- cout<<ans[i].second+1<<" ";
- }
- cout<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement