#include <bits/stdc++.h>
using namespace std;
int rectangle(int R, int C, int H, int W, int Q[3001][3001]) {
int ans = 0;
set<int> st;
for(int i = 0; i < W; i++)
for(int j = 0; j < H; j++) st.insert(Q[j][i]);
auto it = st.begin();
advance(it, (W*H)/2);
ans = *it;
bool back = 0;
for(int k = 0; k <= R-H; k++){
if(!back){
for(int i = 1; i <= C-W; i++){
// elimino la parte precedente
for(int j = k; j < H+k; j++){
st.erase(Q[j][i-1]);
st.insert(Q[j][i+W-1]);
}
auto it = st.begin();
int mid = (W*H)/2;
advance(it, mid);
ans = min(ans, *it);
}
}else{
for(int i = C-W-1; i >= 0; i--){
// elimino la parte precedente
for(int j = k; j < H+k; j++){
st.erase(Q[j][i+W]);
st.insert(Q[j][i]);
}
auto it = st.begin();
int mid = (W*H)/2;
advance(it, mid);
ans = min(ans, *it);
}
}
if(!back){
if(k+H < R){
for(int i = C-W; i < C; i++){
st.erase(Q[k][i]);
st.insert(Q[k+H][i]);
}
}
}else{
if(k+H < R){
for(int i = 0; i < W; i++){
st.erase(Q[k][i]);
st.insert(Q[k+H][i]);
}
}
}
auto it = st.begin();
int mid = (W*H)/2;
advance(it, mid);
ans = min(ans, *it);
back^=1;
}
return ans;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
432 KB |
Output is correct |
2 |
Correct |
1 ms |
432 KB |
Output is correct |
3 |
Correct |
1 ms |
468 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
432 KB |
Output is correct |
2 |
Correct |
1 ms |
432 KB |
Output is correct |
3 |
Correct |
1 ms |
468 KB |
Output is correct |
4 |
Correct |
42 ms |
852 KB |
Output is correct |
5 |
Correct |
53 ms |
808 KB |
Output is correct |
6 |
Correct |
25 ms |
1056 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
432 KB |
Output is correct |
2 |
Correct |
1 ms |
432 KB |
Output is correct |
3 |
Correct |
1 ms |
468 KB |
Output is correct |
4 |
Correct |
42 ms |
852 KB |
Output is correct |
5 |
Correct |
53 ms |
808 KB |
Output is correct |
6 |
Correct |
25 ms |
1056 KB |
Output is correct |
7 |
Execution timed out |
5051 ms |
3660 KB |
Time limit exceeded |
8 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
432 KB |
Output is correct |
2 |
Correct |
1 ms |
432 KB |
Output is correct |
3 |
Correct |
1 ms |
468 KB |
Output is correct |
4 |
Correct |
42 ms |
852 KB |
Output is correct |
5 |
Correct |
53 ms |
808 KB |
Output is correct |
6 |
Correct |
25 ms |
1056 KB |
Output is correct |
7 |
Execution timed out |
5051 ms |
3660 KB |
Time limit exceeded |
8 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
432 KB |
Output is correct |
2 |
Correct |
1 ms |
432 KB |
Output is correct |
3 |
Correct |
1 ms |
468 KB |
Output is correct |
4 |
Correct |
42 ms |
852 KB |
Output is correct |
5 |
Correct |
53 ms |
808 KB |
Output is correct |
6 |
Correct |
25 ms |
1056 KB |
Output is correct |
7 |
Execution timed out |
5051 ms |
3660 KB |
Time limit exceeded |
8 |
Halted |
0 ms |
0 KB |
- |