Submission #1040101

#TimeUsernameProblemLanguageResultExecution timeMemory
1040101LaMatematica14Rectangles (IOI19_rect)C++17
0 / 100
5076 ms62464 KiB
#include <bits/stdc++.h> using namespace std; long long count_rectangles(vector<vector<int>> a) { int n = a.size(); int m = a[0].size(); if (n < 3 || m < 3) return 0; long long tot = 0; for (int i = 1; i < n-1; i++) { for (int j = 1; j < m-1; j++) { vector<vector<int>> r(n, vector<int> (m)); vector<vector<int>> col(n, vector<int> (m)); for (int b = i; b < n-1; b++) { for (int c = j; c < m-1; c++) { r[b][c] = max(r[b][c-1], a[b][c]); col[b][c] = max(col[b-1][c], a[b][c]); } } vector<vector<int>> f(n, vector<int> (m, 0)); for (int t = 0; t < m; t++) f[i-1][t] = 1; for (int b = i; b < n-1; b++) { for (int c = j; c < m-1; c++) { if (a[i-1][c] <= col[b][c]) break; if (a[b][j-1] <= r[b][c]) break; if (a[b][c+1] <= r[b][c]) continue; f[b][c] = 1; if (a[b+1][c] <= col[b][c]) break; if (!f[b-1][c]) continue; tot++; } } } } return tot; }
#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...