(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 #934854

#TimeUsernameProblemLanguageResultExecution timeMemory
934854vjudge1Quality Of Living (IOI10_quality)C++17
100 / 100
1141 ms140432 KiB
#include <bits/stdc++.h> #define faster ios_base::sync_with_stdio(false);cin.tie(NULL); #define fi first #define se second #define pb push_back //#define task "hetcuu" using namespace std; using ll = long long; using ld = long double; const int maxN = 3e3 + 1; int rectangle(int n ,int m,int h,int w,int a[maxN][maxN]){ faster //freopen(task".inp","r",stdin); //freopen(task".out","w",stdout); //input(r,c,h,w); int pre[maxN][maxN]; //cin >> n >> m >> h >> w; //for(int i = 1; i <= n;++i){ // for(int j = 1;j <= m;++j){ // cin >> a[i][j]; // } //} int l=(h*w+1)/2, r=n*m, ans=0; while(l <= r) { int mid = (l + r) / 2; bool ok = 0; for(int i=1; i<=n; i++) for(int j=1; j<=m; j++) pre[i][j] = (a[i - 1][j - 1] <= mid) + pre[i-1][j] + pre[i][j-1] - pre[i-1][j-1]; for(int i=1; i+h-1<=n; i++) for(int j=1; j+w-1<=m; j++) if(2 * (pre[i+h-1][j+w-1] - pre[i-1][j+w-1] - pre[i+h-1][j-1] + pre[i-1][j-1]) >= h * w) ok = 1; if(ok) 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...