Submission #1071891

#TimeUsernameProblemLanguageResultExecution timeMemory
1071891KaleemRazaSyedSoccer Stadium (IOI23_soccer)C++17
0 / 100
4556 ms133972 KiB
#include<bits/stdc++.h> using namespace std; const int N = 2000 + 5; int n, pref[N][N], l[N][N], r[N][N], u[N][N], d[N][N], f[N][N]; void precompute() { for(int i = 0; i < n; i ++) for(int j = 0; j < n; j++) l[i][j] = r[i][j] = u[i][j] = d[i][j] = 1 - f[i][j] ; for(int i = 0; i < n; i ++) for(int j = 1; j < n; j ++) if(l[i][j]) l[i][j] += l[i][j - 1]; for(int i = 0; i < n; i ++) for(int j = n - 2; j >= 0; j --) if(r[i][j]) r[i][j] += r[i][j + 1]; for(int i = 1; i < n; i ++) for(int j = 0; j < n; j ++) if(u[i][j]) u[i][j] += u[i - 1][j]; for(int i = n - 2; i >= 0; i --) for(int j = 0; j < n; j ++) if(d[i][j]) d[i][j] += d[i + 1][j]; for(int i = 0; i < n; i ++) for(int j = 0; j < n; j ++) pref[i + 1][j + 1] = pref[i + 1][j] + pref[i][j + 1] - pref[i][j] + f[i][j]; } int extract(int idx) { vector<int> a, b; for(int i = 0; i < n; i++) a.push_back(u[idx][i]), b.push_back(d[idx][i] - 1); int fans = 0; for(int p = 0; p < n; p ++) { int ans = a[p] + b[p]; int x1 = a[p], x2 = b[p]; for(int j = p - 1; j >= 0; j --) { x1 = min(x1, a[j]); x2 = min(x2, b[j]); ans += x1 + x2; } x1 = a[p], x2 = b[p]; for(int j = p + 1; j < n; j++) { x1 = min(x1, a[j]); x2 = min(x2, b[j]); ans += x1 + x2; } fans = max(fans, ans); } return fans; } int biggest_stadium(int N, vector<vector<int> > F) { n = N; for(int i = 0; i < n; i ++) for(int j = 0; j < n; j ++) f[i][j] = F[i][j]; precompute(); int ans = 0; for(int i = 0; i < n; i ++) ans = max(ans, extract(i)); 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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...