#include"robots.h"
#include<bits/stdc++.h>
using namespace std;
int putaway(int A,int B,int T,int X[],int Y[],int W[],int S[])
{
	vector< pair<int,int> > vi;
	for(int i=0;i<T;i++) vi.push_back({W[i],S[i]});
	sort(vi.begin(),vi.end());
	sort(X,X+A,greater<int>());
	sort(Y,Y+B,greater<int>());
	int l=1,r=T,ans=0;
	while(l<=r)
	{
		int mid=(l+r)/2,p=A-1;
		priority_queue<int> pq;
		vector<int> w;
		for(int i=T-1;i+1;i--)
		{
			while(p>0&&vi[i].first<=X[p-1]) 
			{
				for(int j=1;j<=mid&&!pq.empty();j++) pq.pop();
				while(!pq.empty()) w.push_back(pq.top()),pq.pop();
				p--;
			}
			pq.push(vi[i].second);
		}
		for(int j=1;j<=mid&&!pq.empty();j++) pq.pop();
		while(!pq.empty()) w.push_back(pq.top()),pq.pop();
		sort(w.begin(),w.end(),greater<int>());
		int f=mid,pt=0;
		bool ck=true;
		for(auto v:w)
		{
			if(f==0) pt++,f=mid;
			if(pt==B||v>Y[pt]) 
			{
				ck=false;
				break;
			}
			f--;
		}
		if(!ck) l=mid+1;
		else r=mid-1,ans=mid;
	}
	return ans;
}
| # | 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... |