Submission #1300470

#TimeUsernameProblemLanguageResultExecution timeMemory
1300470SmuggingSpunQuality Of Living (IOI10_quality)C++20
100 / 100
825 ms71400 KiB
#include "quality.h" #include<bits/stdc++.h> using namespace std; const int lim = 3e3 + 1; int f[lim][lim]; int rectangle(int n, int m, int H, int W, int Q[3001][3001]){ memset(f, 0, sizeof(f)); int low = 1, high = n * m, ans; while(low <= high){ int mid = (low + high) >> 1; for(int i = 1; i <= n; i++){ for(int j = 1, s = 0; j <= m; j++){ f[i][j] = (s += (Q[i - 1][j - 1] > mid ? -1 : 1)) + f[i - 1][j]; } } bool flag = false; for(int i = H; i <= n; i++){ for(int j = W; j <= m; j++){ if(f[i][j] - f[i][j - W] - f[i - H][j] + f[i - H][j - W] > 0){ flag = true; i = n; break; } } } if(flag){ high = (ans = mid) - 1; } else{ low = 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...