(UPD: 2024-12-04 14:48 UTC) Judge is not working due to Cloudflare incident. (URL) We can do nothing about it, sorry. After the incident is resolved, we will grade all submissions.

Submission #511043

#TimeUsernameProblemLanguageResultExecution timeMemory
511043tabrQuality Of Living (IOI10_quality)C++17
100 / 100
1679 ms140260 KiB
#include <bits/stdc++.h> using namespace std; #ifdef tabr #include "library/debug.cpp" #else #define debug(...) #endif int rectangle(int r, int c, int h, int w, int q[3001][3001]) { int low = 0; int high = r * c; while (high - low > 1) { int mid = (high + low) / 2; int ok = 0; vector<vector<int>> pref(r + 1, vector<int>(c + 1)); for (int i = 0; i < r; i++) { for (int j = 0; j < c; j++) { pref[i + 1][j + 1] = pref[i + 1][j] + pref[i][j + 1] - pref[i][j] + (q[i][j] <= mid); } } for (int i = 0; i <= r - h; i++) { for (int j = 0; j <= c - w; j++) { if (pref[i + h][j + w] - pref[i][j + w] - pref[i + h][j] + pref[i][j] > h * w / 2) { ok = 1; } } } if (ok) { high = mid; } else { low = mid; } } return high; } #ifdef tabr int main() { ios::sync_with_stdio(false); cin.tie(0); int q[3001][3001]; int r, c, h, w; cin >> r >> c >> h >> w; for (int i = 0; i < r; i++) { for (int j = 0; j < c; j++) { cin >> q[i][j]; } } debug(rectangle(r, c, h, w, q)); return 0; } #endif
#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...