Submission #1195392

#TimeUsernameProblemLanguageResultExecution timeMemory
1195392mannshah1211Soccer Stadium (IOI23_soccer)C++20
25 / 100
208 ms31912 KiB
#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 + 1]; 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 + 1]; 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 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...