This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
    #include "robots.h"
     
    #include<bits/stdc++.h>
    using namespace std;
    bool td[1000005];
    int tt[1000005];
    int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]){
    	vector<pair<pair<int,int>,int> > w,s;
    	for(int i=0;i<T;i++){
    		w.push_back(make_pair(make_pair(W[i],S[i]),i));
    		s.push_back(make_pair(make_pair(S[i],W[i]),i));
    	}
    	sort(s.begin(),s.end());
    	sort(w.begin(),w.end());
    	sort(X,X+A);
    	sort(Y,Y+B);
    	int lo=1,hi=T;
    	int rs=T+2;
    	while(lo<=hi){memset(td,false,sizeof(td));
    		int mid=(lo+hi)>>1;
    		int l=0;
    		int done=0;
    		priority_queue<pair<int,int> > pq;
    		for(int i=0;i<A;i++){
    			pair<pair<int,int>,int> sc = {{X[i],0},0};
    			int idx=lower_bound(w.begin(),w.end(),sc)-w.begin();
    			for(int j=idx-1;j>=l;j--) pq.push(make_pair(w[j].first.second,w[j].second));
    			l=idx;
    			int s=0;
    			while(s<mid && !pq.empty()){
    				s++;
    				int idx=pq.top().second;
    				td[idx]=true;
    				done++;
    				pq.pop();
    			}
    		} l=0; 
    		for(;!pq.empty();pq.pop());
    		for(int i=0;i<B;i++){
    			pair<pair<int,int>,int> sc = {{Y[i],0},0};
    			int idx=lower_bound(s.begin(),s.end(),sc)-s.begin();
    			for(int j=idx-1;j>=l;j--){
    				if(!td[s[j].second]){
    					pq.push(make_pair(s[j].first.second,s[j].second));
    				}
    			}
    			l=idx;
    			int s=0;
    			while(s<mid && !pq.empty()){
    				s++;
    				int idx=pq.top().second;
    				td[idx]=true;
    				pq.pop();
    				done++;
    			}
    		}
    		if(done==T){
    			rs=mid;
    			hi=mid-1;
    		}
    		else{
    			lo=mid+1;
    		}
    	}
    	if(rs==T+2) return -1;
    	else return rs;
    }
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |