#include "robots.h"
#include <bits/stdc++.h>
using namespace std;
bool solve(int k, int A, int B, int T, int WR[], int SR[], int WT[], int ST[]) {
set<int, greater<>> st;
for(int i = 0; i < T; i++) {
st.insert(WT[i]);
}
int j = 0, cnt = 0;
vector<int> ord(T); iota(ord.begin(), ord.end(), 0);
sort(ord.begin(), ord.end(), [&](const int a, const int b) {return WT[a] > WT[b];});
for(int i = 0; i < T; i++) {
int toy = ord[i];
if (cnt >= k) j++, cnt = 0;
if (ST[toy] < SR[j]) {
cnt++;
st.erase(WT[toy]);
}
if (j >= B) break;
}
j = 0, cnt = 0;
for(int w: st) {
if (cnt >= k) j++, cnt = 0;
if (w < SR[j]) {
cnt++;
} else {
return 0;
}
}
return 1;
}
int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]) {
sort(X, X + A, greater<>()), sort(Y, Y + B, greater<>());
int l = 1, r = T+1;
while(l < r) {
int m = (l + r) / 2;
if (solve(m, A, B, T, X, Y, W, S)) r = m;
else l = m + 1;
}
return (l == T+1 ? -1 : l);
}