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 ll long long
#define endl '\n'
#define FF first
#define SS second
#define all(a) a.begin(), a.end()
#define mod (ll)(1000000007)
int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]) {
sort(X, X + A);
sort(Y, Y + B);
if (B == 0) {
sort(W, W + T);
int l = 0, r = T, cur = -1;
while (l <= r) {
int md = (l + r) / 2;
int ind = T - 1;
for (int i = A - 1; i >= 0; i--) {
int temp = 0;
while (temp < md && ind >= 0 && X[i] > W[ind]) {
ind--, temp++;
}
}
if (ind == -1) {
cur = md, r = md - 1;
}
else {
l = md + 1;
}
}
return cur;
}
if (A == 1) {
array<int, 2> fir = {W[0] < X[0], W[1] < X[0]};
array<int, 2> sec = {S[0] < Y[0], S[1] < Y[0]};
if ((fir[0] && sec[1]) || (fir[1] && sec[0])) {
return 1;
}
if ((fir[0] && fir[1]) || (sec[0] && sec[1])) {
return 2;
}
return -1;
}
if (A == 2) {
sort(W, W + T);
if (W[0] < X[0] && W[1] < X[1]) {
return 1;
}
if (X[1] > W[1]) {
return 2;
}
return -1;
}
sort(S, S + T);
if (S[0] < Y[0] && S[1] < Y[1]) {
return 1;
}
if (Y[1] > S[1]) {
return 2;
}
return -1;
}
# | 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... |