#include "grader.h"
int lg[3001][3001], pref[3001][3001];
bool check(int median, int R, int C, int H, int W, int Q[3001][3001]) {
for (int i = 0; i < R; i++) {
for (int j = 0; j < C; j++) {
if (Q[i][j] > median) lg[i + 1][j + 1] = 1;
else if (Q[i][j] == median) lg[i + 1][j + 1] = 0;
else lg[i + 1][j + 1] = -1;
pref[i + 1][j + 1] = lg[i + 1][j + 1] + pref[i + 1][j] + pref[i][j + 1] - pref[i][j];
}
}
for (int i = H; i <= R; i++) {
for (int j = W; j <= C; j++) {
if (pref[i][j] + pref[i - H][j - W] - pref[i][j - W] - pref[i - H][j] <= 0) return true;
}
}
return false;
}
int rectangle(int R, int C, int H, int W, int Q[3001][3001]) {
int l = 1, r = R * C;
while (l != r) {
int mid = (l + r) / 2;
if (check(mid, R, C, H, W, Q)) r = mid;
else l = mid + 1;
}
return l;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
632 KB |
Output is correct |
2 |
Correct |
5 ms |
636 KB |
Output is correct |
3 |
Correct |
5 ms |
604 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
632 KB |
Output is correct |
2 |
Correct |
5 ms |
636 KB |
Output is correct |
3 |
Correct |
5 ms |
604 KB |
Output is correct |
4 |
Correct |
7 ms |
1660 KB |
Output is correct |
5 |
Correct |
7 ms |
1656 KB |
Output is correct |
6 |
Correct |
8 ms |
1656 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
632 KB |
Output is correct |
2 |
Correct |
5 ms |
636 KB |
Output is correct |
3 |
Correct |
5 ms |
604 KB |
Output is correct |
4 |
Correct |
7 ms |
1660 KB |
Output is correct |
5 |
Correct |
7 ms |
1656 KB |
Output is correct |
6 |
Correct |
8 ms |
1656 KB |
Output is correct |
7 |
Correct |
30 ms |
5496 KB |
Output is correct |
8 |
Correct |
31 ms |
5496 KB |
Output is correct |
9 |
Correct |
32 ms |
5368 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
632 KB |
Output is correct |
2 |
Correct |
5 ms |
636 KB |
Output is correct |
3 |
Correct |
5 ms |
604 KB |
Output is correct |
4 |
Correct |
7 ms |
1660 KB |
Output is correct |
5 |
Correct |
7 ms |
1656 KB |
Output is correct |
6 |
Correct |
8 ms |
1656 KB |
Output is correct |
7 |
Correct |
30 ms |
5496 KB |
Output is correct |
8 |
Correct |
31 ms |
5496 KB |
Output is correct |
9 |
Correct |
32 ms |
5368 KB |
Output is correct |
10 |
Correct |
332 ms |
30968 KB |
Output is correct |
11 |
Correct |
324 ms |
30840 KB |
Output is correct |
12 |
Correct |
169 ms |
21608 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
632 KB |
Output is correct |
2 |
Correct |
5 ms |
636 KB |
Output is correct |
3 |
Correct |
5 ms |
604 KB |
Output is correct |
4 |
Correct |
7 ms |
1660 KB |
Output is correct |
5 |
Correct |
7 ms |
1656 KB |
Output is correct |
6 |
Correct |
8 ms |
1656 KB |
Output is correct |
7 |
Correct |
30 ms |
5496 KB |
Output is correct |
8 |
Correct |
31 ms |
5496 KB |
Output is correct |
9 |
Correct |
32 ms |
5368 KB |
Output is correct |
10 |
Correct |
332 ms |
30968 KB |
Output is correct |
11 |
Correct |
324 ms |
30840 KB |
Output is correct |
12 |
Correct |
169 ms |
21608 KB |
Output is correct |
13 |
Correct |
3074 ms |
175732 KB |
Output is correct |
14 |
Correct |
3024 ms |
175476 KB |
Output is correct |
15 |
Correct |
2779 ms |
168420 KB |
Output is correct |