Submission #826169

#TimeUsernameProblemLanguageResultExecution timeMemory
826169Ahmed57Quality Of Living (IOI10_quality)C++17
100 / 100
1092 ms140160 KiB
#include <bits/stdc++.h> using namespace std; int rectangle(int R, int C, int H, int W, int Q[3001][3001]){ int l = 1 , r = (R*C) ,ans = 0; while(l<=r){ int mid = (l+r)/2; int pref[R+1][C+1]; memset(pref,0,sizeof pref); for(int i = 0;i<R;i++){ for(int j = 0;j<C;j++){ pref[i+1][j+1] = (Q[i][j]<=mid)+pref[i][j+1]+pref[i+1][j]-pref[i][j]; } } bool ss = 0; for(int i = H;i<=R;i++){ for(int j = W;j<=C;j++){ if(pref[i][j]-pref[i-H][j]-pref[i][j-W]+pref[i-H][j-W]>=(H*W+1)/2){ ss = 1; } } } if(ss){ ans = mid; r = mid-1; }else l = mid+1; } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...