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;
int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]) {
sort(X,X+A);
sort(Y,Y+B);
for (int i=0;i<T;i++){
if (W[i]>=X[A-1] && S[i]>=Y[B-1]) return -1;
}
pair<int,int> toys[T];
for (int i=0;i<T;i++) toys[i]=make_pair(W[i],S[i]);
sort(toys,toys+T);
int mini=0,maxi=T;
while (mini+1<maxi){
int mid=(mini+maxi)/2;
priority_queue<int> pq; //stores sizes
int id=0;
for (int i=0;i<A;i++){
while (id<T && toys[id].first<X[i]){
pq.push(toys[id].second);
id++;
}
int countt=0;
while (!pq.empty() && countt<mid){
pq.pop();
countt++;
}
}
for (int i=id;i<T;i++) pq.push(toys[id].second);
for (int i=B-1;i>=0;i--){
int countt=0;
while ((!pq.empty() && pq.top()<Y[i]) && countt<mid){
pq.pop();
countt++;
}
}
if (pq.empty()) maxi=mid;
else mini=mid;
}
return maxi;
}
# | 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... |