#include "quality.h"
#include<bits/stdc++.h>
int r,c;
int h,w;
int med;
int tot[3001][3001];
int hi,low,av;
bool isntable(int Q[3001][3001])
{
for(int i=1;i<=r;i++)
{
for(int j=1;j<=c;j++)
{
tot[i][j]=(int)(Q[i-1][j-1]>=av);
tot[i][j]+=(tot[i][j-1]+tot[i-1][j]-tot[i-1][j-1]);
}
}
for(int i=h;i<=r;i++)
{
for(int j=w;j<=c;j++)
{
if(tot[i][j]-tot[i-h][j]-tot[i][j-w]+tot[i-h][j-w]<med) return true;
}
}
return false;
}
int rectangle(int R, int C, int H, int W, int Q[3001][3001]) {
r=R;
c=C;
h=H;
w=W;
med=((h*w)+1)>>1;
hi=r*c+1;
low=1;
memset(tot,0,sizeof tot);
while(hi>low)
{
av=(hi+low)>>1;
if(isntable(Q)) hi=av;
else low=av+1;
}
return hi-1;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
17 ms |
35652 KB |
Output is correct |
2 |
Correct |
17 ms |
35648 KB |
Output is correct |
3 |
Correct |
19 ms |
35568 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
17 ms |
35652 KB |
Output is correct |
2 |
Correct |
17 ms |
35648 KB |
Output is correct |
3 |
Correct |
19 ms |
35568 KB |
Output is correct |
4 |
Correct |
22 ms |
36032 KB |
Output is correct |
5 |
Correct |
19 ms |
35976 KB |
Output is correct |
6 |
Correct |
18 ms |
36044 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
17 ms |
35652 KB |
Output is correct |
2 |
Correct |
17 ms |
35648 KB |
Output is correct |
3 |
Correct |
19 ms |
35568 KB |
Output is correct |
4 |
Correct |
22 ms |
36032 KB |
Output is correct |
5 |
Correct |
19 ms |
35976 KB |
Output is correct |
6 |
Correct |
18 ms |
36044 KB |
Output is correct |
7 |
Correct |
35 ms |
37520 KB |
Output is correct |
8 |
Correct |
34 ms |
37560 KB |
Output is correct |
9 |
Correct |
32 ms |
37524 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
17 ms |
35652 KB |
Output is correct |
2 |
Correct |
17 ms |
35648 KB |
Output is correct |
3 |
Correct |
19 ms |
35568 KB |
Output is correct |
4 |
Correct |
22 ms |
36032 KB |
Output is correct |
5 |
Correct |
19 ms |
35976 KB |
Output is correct |
6 |
Correct |
18 ms |
36044 KB |
Output is correct |
7 |
Correct |
35 ms |
37520 KB |
Output is correct |
8 |
Correct |
34 ms |
37560 KB |
Output is correct |
9 |
Correct |
32 ms |
37524 KB |
Output is correct |
10 |
Correct |
231 ms |
50188 KB |
Output is correct |
11 |
Correct |
237 ms |
50164 KB |
Output is correct |
12 |
Correct |
119 ms |
44752 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
17 ms |
35652 KB |
Output is correct |
2 |
Correct |
17 ms |
35648 KB |
Output is correct |
3 |
Correct |
19 ms |
35568 KB |
Output is correct |
4 |
Correct |
22 ms |
36032 KB |
Output is correct |
5 |
Correct |
19 ms |
35976 KB |
Output is correct |
6 |
Correct |
18 ms |
36044 KB |
Output is correct |
7 |
Correct |
35 ms |
37520 KB |
Output is correct |
8 |
Correct |
34 ms |
37560 KB |
Output is correct |
9 |
Correct |
32 ms |
37524 KB |
Output is correct |
10 |
Correct |
231 ms |
50188 KB |
Output is correct |
11 |
Correct |
237 ms |
50164 KB |
Output is correct |
12 |
Correct |
119 ms |
44752 KB |
Output is correct |
13 |
Correct |
2025 ms |
140028 KB |
Output is correct |
14 |
Correct |
1950 ms |
140080 KB |
Output is correct |
15 |
Correct |
1848 ms |
133012 KB |
Output is correct |