#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);
sort(Y, Y + B);
for(int i = 0; i < T; i++) {
if(W[i] >= X[A - 1] && S[i] >= Y[B - 1]) {
return - 1;
}
}
vector<pair<int,int>> omg;
for(int i = 0; i < T; i++) {
omg.push_back({W[i], S[i]});
}
sort(omg.begin(), omg.end());
int l = 1, r = 1e6, ans = - 1;
while(l <= r) {
int mid = (l + r) / 2;
int pok = A - 1;
int R = 0;
vector<pair<int,int>> ostalo;
for(int i = omg.size() - 1; i >= 0; i--) {
//cout << pok << " " << omg[i].first << " " << omg[i].second << "\n";
if(pok < 0) {
for(int j = i; j >= 0; j--) {
ostalo.push_back({omg[j].second, omg[j].first});
}
break;
}
if(X[pok] > omg[i].first) {
R += 1;
if(R >= mid) {
R = 0;
pok -= 1;
}
}
else {
ostalo.push_back({omg[i].second, omg[i].first});
}
}
//return 1;
sort(ostalo.begin(), ostalo.end());
for(auto it : ostalo) {
//cout << it.second << " " << it.first << "\n";
}
//return 1;
pok = B - 1;
R = 0;
int ok = 0;
for(int i = ostalo.size() - 1; i >= 0; i--) {
if(pok < 0) {
ok = 1;
break;
}
if(Y[pok] > ostalo[i].first) {
R += 1;
if(R >= mid) {
R = 0;
pok -= 1;
}
}
else {
ok = 1;
break;
}
}
ok ^= 1;
if(ok) {
r = mid - 1;
ans = mid;
}
else {
l = mid + 1;
}
//cout << l << " " << r << "\n";
//return - 1;
}
return ans;
}
/*
int main() {
int A = 3;
int B = 2;
int T = 10;
int X[3] = {6, 2, 9};
int Y[2] = {4, 7};
int W[10] = {4, 8, 2, 7, 1, 5, 3, 8, 7, 10};
int S[10] = {6, 5, 3, 9, 8, 1, 3, 7, 6, 5};
cout << putaway(A, B, T, X, Y, W, S);
int A = 2;
int B = 1;
int T = 3;
int X[2] = {2, 5};
int Y[1] = {2};
int W[3] = {3, 5, 2};
int S[3] = {1, 3, 2};
cout << putaway(A, B, T, X, Y, W, S);
}*/
Compilation message
robots.cpp: In function 'int putaway(int, int, int, int*, int*, int*, int*)':
robots.cpp:47:18: warning: variable 'it' set but not used [-Wunused-but-set-variable]
47 | for(auto it : ostalo) {
| ^~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
4444 KB |
Output is correct |
2 |
Correct |
1 ms |
4540 KB |
Output is correct |
3 |
Correct |
1 ms |
4536 KB |
Output is correct |
4 |
Correct |
1 ms |
4444 KB |
Output is correct |
5 |
Correct |
1 ms |
4444 KB |
Output is correct |
6 |
Correct |
1 ms |
4444 KB |
Output is correct |
7 |
Correct |
1 ms |
4444 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
4444 KB |
Output is correct |
2 |
Correct |
1 ms |
4444 KB |
Output is correct |
3 |
Correct |
1 ms |
4444 KB |
Output is correct |
4 |
Correct |
154 ms |
20948 KB |
Output is correct |
5 |
Correct |
89 ms |
14964 KB |
Output is correct |
6 |
Correct |
22 ms |
6356 KB |
Output is correct |
7 |
Correct |
162 ms |
20172 KB |
Output is correct |
8 |
Correct |
183 ms |
23480 KB |
Output is correct |
9 |
Correct |
157 ms |
22220 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
4440 KB |
Output is correct |
2 |
Correct |
1 ms |
4444 KB |
Output is correct |
3 |
Correct |
1 ms |
4444 KB |
Output is correct |
4 |
Correct |
1 ms |
4544 KB |
Output is correct |
5 |
Correct |
1 ms |
4444 KB |
Output is correct |
6 |
Correct |
1 ms |
4440 KB |
Output is correct |
7 |
Correct |
1 ms |
4444 KB |
Output is correct |
8 |
Correct |
1 ms |
4444 KB |
Output is correct |
9 |
Correct |
1 ms |
4444 KB |
Output is correct |
10 |
Correct |
1 ms |
4444 KB |
Output is correct |
11 |
Correct |
1 ms |
4444 KB |
Output is correct |
12 |
Correct |
1 ms |
4444 KB |
Output is correct |
13 |
Correct |
1 ms |
4444 KB |
Output is correct |
14 |
Correct |
1 ms |
4444 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
4444 KB |
Output is correct |
2 |
Correct |
1 ms |
4844 KB |
Output is correct |
3 |
Correct |
1 ms |
4444 KB |
Output is correct |
4 |
Correct |
1 ms |
4444 KB |
Output is correct |
5 |
Correct |
1 ms |
4444 KB |
Output is correct |
6 |
Correct |
1 ms |
4444 KB |
Output is correct |
7 |
Correct |
1 ms |
4440 KB |
Output is correct |
8 |
Correct |
1 ms |
4444 KB |
Output is correct |
9 |
Correct |
1 ms |
4444 KB |
Output is correct |
10 |
Correct |
1 ms |
4444 KB |
Output is correct |
11 |
Correct |
1 ms |
4444 KB |
Output is correct |
12 |
Correct |
1 ms |
4540 KB |
Output is correct |
13 |
Correct |
1 ms |
4444 KB |
Output is correct |
14 |
Correct |
1 ms |
4444 KB |
Output is correct |
15 |
Correct |
1 ms |
4444 KB |
Output is correct |
16 |
Incorrect |
5 ms |
4956 KB |
Output isn't correct |
17 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
4440 KB |
Output is correct |
2 |
Correct |
1 ms |
4444 KB |
Output is correct |
3 |
Correct |
1 ms |
4444 KB |
Output is correct |
4 |
Correct |
1 ms |
4544 KB |
Output is correct |
5 |
Correct |
1 ms |
4444 KB |
Output is correct |
6 |
Correct |
1 ms |
4444 KB |
Output is correct |
7 |
Correct |
1 ms |
4440 KB |
Output is correct |
8 |
Correct |
1 ms |
4444 KB |
Output is correct |
9 |
Correct |
1 ms |
4444 KB |
Output is correct |
10 |
Correct |
154 ms |
21724 KB |
Output is correct |
11 |
Correct |
89 ms |
15184 KB |
Output is correct |
12 |
Correct |
20 ms |
6340 KB |
Output is correct |
13 |
Correct |
160 ms |
21172 KB |
Output is correct |
14 |
Correct |
182 ms |
23252 KB |
Output is correct |
15 |
Correct |
1 ms |
4444 KB |
Output is correct |
16 |
Correct |
1 ms |
4444 KB |
Output is correct |
17 |
Correct |
1 ms |
4444 KB |
Output is correct |
18 |
Correct |
1 ms |
4444 KB |
Output is correct |
19 |
Correct |
1 ms |
4444 KB |
Output is correct |
20 |
Correct |
1 ms |
4444 KB |
Output is correct |
21 |
Incorrect |
5 ms |
4808 KB |
Output isn't correct |
22 |
Halted |
0 ms |
0 KB |
- |