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 <bits/stdc++.h>
#include "robots.h"
using namespace std;
int putaway(int A,int B,int T,int X[],int Y[],int W[],int S[]){
sort(X, X + A);
reverse(X, X + A);
sort(Y, Y + B);
reverse(Y, Y + B);
vector<pair<int, int>> a(T);
bool f = 0;
for (int i = 0; i < T; i++){
a[i] = {W[i], S[i]};
if (a[i].first >= X[0] && a[i].second >= Y[0]) f = 1;
}
if (f) return -1;
sort(a.begin(), a.end());
reverse(a.begin(), a.end());
int ini = 1, fin = T + 1;
while(ini < fin){
int m = (ini + fin) / 2;
int k = 0;
int tiempo = 0;
priority_queue<int> pq;
for (int i = 0; i < A; i++){
tiempo = 0;
while(k < T && tiempo < m && X[i] > a[k].first){
k++;
tiempo++;
}
if (k < T && tiempo < m){
pq.push(-a[k].second);
k++;
i--;
}
}
k = 0; tiempo = 0;
for (int i = 0; i < B; i++){
while(k < T && tiempo < m && !pq.empty()){
int v = pq.top();
v = -v;
if (a[k].second < Y[i]) {
k++;
tiempo++;
}else break;
}
}
if (pq.empty()){
fin = m;
}else ini = m + 1;
}
return ini;
}
# | 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... |