제출 #1231895

#제출 시각아이디문제언어결과실행 시간메모리
1231895countless삶의 질 (IOI10_quality)C++20
100 / 100
1119 ms70896 KiB
#include "quality.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; #define sp <<" "<< #define endl "\n" const int MAXN = 3001; int pref[MAXN][MAXN]; int rectangle(int R, int C, int H, int W, int Q[MAXN][MAXN]) { int lo = 0, hi = R*C; while (hi - lo > 1) { int mid = (lo+hi) / 2; for (int i = 1; i <= R; i++) { for (int j = 1; j <= C; j++) { pref[i][j] = Q[i-1][j-1] <= mid; pref[i][j] += pref[i-1][j] + pref[i][j-1] - pref[i-1][j-1]; } } int mx = 0; for (int i = H; i <= R; i++) { for (int j = W; j <= C; j++) { mx = max(mx, pref[i][j] - pref[i - H][j] - pref[i][j - W] + pref[i - H][j - W]); } } if (mx >= (H*W+1)/2) { hi = mid; } else { lo = mid; } } // ok now it's tested return hi; }
#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...