#include <iostream>
#include <vector>
#include <algorithm>
#include <set>
#include <map>
#include "robots.h"
using namespace std;
int putaway(int a, int b, int t,
int x[], int y[], int w[], int s[]) {
int answ = -1;
int l = 1;
int r = t;
vector<pair<int, int>> g;
for (int i = 0;i < t;++i) {
g.push_back({ s[i],w[i] });
}
sort(g.rbegin(), g.rend());
while (l <= r) {
int m = (l + r) / 2;
map<int, int> p1;
map<int, int> p2;
for (int i = 0;i < a;++i) {
p1[x[i]]+=m;
}
for (int i = 0;i < b;++i) {
p2[y[i]]+=m;
}
bool fl = 1;
for (auto i : g) {
int x1 = i.second;
int y1 = i.first;
auto u = p1.lower_bound(x1+1);
if (u != p1.end()) {
u->second--;
if (u->second == 0) {
p1.erase(u->first);
}
continue;
}
auto v = p2.lower_bound(y1+1);
if (v != p2.end()) {
v->second--;
if (v->second == 0) {
p2.erase(v->first);
}
continue;
}
else {
fl = 0;
break;
}
}
if (fl) {
r = m - 1;
answ = m;
}
else {
l = m + 1;
}
}
return answ;
}
# | 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... |