#include "quality.h"
#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0; i<(n); i++)
#define all(x) x.begin(),x.end();
using ll=long long;
const ll INF=1LL<<60;
int rectangle(int R, int C, int H, int W, int Q[3001][3001]) {
vector<vector<int>> cum(R+1,vector<int>(C+1,0));
int ok=R*C,ng=0;
while(ok-ng>1){
int mid=(ok+ng)/2;
rep(i,R+1){
cum[i][0]=0;
}
rep(i,C+1){
cum[0][i]=0;
}
rep(i,R){
rep(j,C){
cum[i+1][j+1]=cum[i+1][j]+cum[i][j+1]-cum[i][j];
if(Q[i][j]<=mid)cum[i+1][j+1]++;
}
}
bool can=false;
rep(i,R-H+1){
rep(j,C-W+1){
int val=cum[i+H][j+W]-cum[i+H][j]-cum[i][j+W]+cum[i][j];
if(val>=H*W-val)can=true;
}
}
if(can)ok=mid;
else ng=mid;
}
return ok;
}
//g++ -o quality -O2 quality.cpp grader.cpp
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
2396 KB |
Output is correct |
2 |
Correct |
1 ms |
2468 KB |
Output is correct |
3 |
Correct |
1 ms |
2396 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
2396 KB |
Output is correct |
2 |
Correct |
1 ms |
2468 KB |
Output is correct |
3 |
Correct |
1 ms |
2396 KB |
Output is correct |
4 |
Correct |
2 ms |
2396 KB |
Output is correct |
5 |
Correct |
2 ms |
2396 KB |
Output is correct |
6 |
Correct |
2 ms |
2396 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
2396 KB |
Output is correct |
2 |
Correct |
1 ms |
2468 KB |
Output is correct |
3 |
Correct |
1 ms |
2396 KB |
Output is correct |
4 |
Correct |
2 ms |
2396 KB |
Output is correct |
5 |
Correct |
2 ms |
2396 KB |
Output is correct |
6 |
Correct |
2 ms |
2396 KB |
Output is correct |
7 |
Correct |
14 ms |
5464 KB |
Output is correct |
8 |
Correct |
14 ms |
5468 KB |
Output is correct |
9 |
Correct |
13 ms |
5340 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
2396 KB |
Output is correct |
2 |
Correct |
1 ms |
2468 KB |
Output is correct |
3 |
Correct |
1 ms |
2396 KB |
Output is correct |
4 |
Correct |
2 ms |
2396 KB |
Output is correct |
5 |
Correct |
2 ms |
2396 KB |
Output is correct |
6 |
Correct |
2 ms |
2396 KB |
Output is correct |
7 |
Correct |
14 ms |
5464 KB |
Output is correct |
8 |
Correct |
14 ms |
5468 KB |
Output is correct |
9 |
Correct |
13 ms |
5340 KB |
Output is correct |
10 |
Correct |
176 ms |
23380 KB |
Output is correct |
11 |
Correct |
170 ms |
23588 KB |
Output is correct |
12 |
Correct |
85 ms |
18000 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
2396 KB |
Output is correct |
2 |
Correct |
1 ms |
2468 KB |
Output is correct |
3 |
Correct |
1 ms |
2396 KB |
Output is correct |
4 |
Correct |
2 ms |
2396 KB |
Output is correct |
5 |
Correct |
2 ms |
2396 KB |
Output is correct |
6 |
Correct |
2 ms |
2396 KB |
Output is correct |
7 |
Correct |
14 ms |
5464 KB |
Output is correct |
8 |
Correct |
14 ms |
5468 KB |
Output is correct |
9 |
Correct |
13 ms |
5340 KB |
Output is correct |
10 |
Correct |
176 ms |
23380 KB |
Output is correct |
11 |
Correct |
170 ms |
23588 KB |
Output is correct |
12 |
Correct |
85 ms |
18000 KB |
Output is correct |
13 |
Correct |
1744 ms |
140412 KB |
Output is correct |
14 |
Correct |
1689 ms |
140408 KB |
Output is correct |
15 |
Correct |
1584 ms |
130044 KB |
Output is correct |