#include "soccer.h"
#include <bits/stdc++.h>
using namespace std;
int biggest_stadium(int n, vector<vector<int>> f) {
vector<pair<int, int>> ranges_r, ranges_c;
for (int i = 0; i < n; i++) {
int mx = 0, mn = n, cnt = 0;
for (int j = 0; j < n; j++) {
if (f[i][j] == 0) {
mx = max(mx, j);
mn = min(mn, j);
cnt++;
}
}
if (mx - mn + 1 != cnt && cnt != 0) {
return 0;
}
ranges_r.emplace_back(mn, mx);
}
sort(ranges_r.begin(), ranges_r.end(), [&](pair<int, int> x, pair<int, int> y) {
return (x.second - x.first < y.second - y.first);
});
for (int i = 0; i < int(ranges_r.size()) - 1; i++) {
auto [a, b] = ranges_r[i];
auto [c, d] = ranges_r[i];
if (a >= c && b <= d) {
continue;
}
if (c >= a && d <= b) {
continue;
}
return 0;
}
for (int j = 0; j < n; j++) {
int mx = 0, mn = n, cnt = 0;
for (int i = 0; i < n; i++) {
if (f[i][j] == 0) {
mx = max(mx, i);
mn = min(mn, i);
cnt++;
}
}
if (mx - mn + 1 != cnt && cnt != 0) {
return 0;
}
ranges_c.emplace_back(mn, mx);
}
sort(ranges_c.begin(), ranges_c.end(), [&](pair<int, int> x, pair<int, int> y) {
return (x.second - x.first < y.second - y.first);
});
for (int i = 0; i < int(ranges_c.size()) - 1; i++) {
auto [a, b] = ranges_c[i];
auto [c, d] = ranges_c[i];
if (a >= c && b <= d) {
continue;
}
if (c >= a && d <= b) {
continue;
}
return 0;
}
int tot = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
tot += (f[i][j] == 0);
}
}
return tot;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |