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;
#define INF (int)1000000005
struct robot{
vector<int> lim;//limits of size/weight
multiset<int> rem;//remaining toys(their size/weight)
robot(vector<int> input){//input the limits for robots
lim=input;
rem.clear();
sort(lim.begin(),lim.end());
}
int work(int size){
if(lim.size()==0) return 0;
auto it=upper_bound(lim.begin(),lim.end(),size);//first robot capable (limit > size)
return lim.end()-it;
}
void insert(int size){
rem.insert(size);
}
int time(){
if(lim.size()==0){
if(rem.size()==0) return 0;
else return INF;
}
int t=0;
int pos=0;//lowest id of working robot
while(rem.size()>0){
for(int i=lim.size()-1;i>=pos;i--){
auto it=rem.lower_bound(lim[i]);
if(it==rem.begin()){
pos=i+1;
break;
}else{
it--;
rem.erase(it);
}
}
if(pos==lim.size()) return INF;
t++;
}
return t;
}
};
int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]) {
robot robotA=robot(vector<int>(X,X+A));
robot robotB=robot(vector<int>(Y,Y+B));
for(int i=0;i<T;i++){
if(robotA.work(W[i])>robotB.work(S[i])){
robotA.insert(W[i]);
}else{
robotB.insert(S[i]);
}
}
int ans=max(robotA.time(),robotB.time());
return ans==INF?-1:ans;
}
Compilation message (stderr)
robots.cpp: In member function 'int robot::time()':
robots.cpp:44:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
44 | if(pos==lim.size()) return INF;
| ~~~^~~~~~~~~~~~
# | 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... |