Submission #1235512

#TimeUsernameProblemLanguageResultExecution timeMemory
1235512k1r1t0축구 경기장 (IOI23_soccer)C++20
25 / 100
233 ms31912 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; int biggest_stadium(int n, vector<vector<int>> f) { vector<array<int, 2>> seg; for (int i = 0; i < n; i++) { int mn = n, mx = -1; for (int j = 0; j < n; j++) { if (f[i][j]) continue; mn = min(mn, j); mx = max(mx, j); } for (int j = mn; j <= mx; j++) if (f[i][j]) return 0; seg.push_back({mn, -mx}); } for (int j = 0; j < n; j++) { int mn = n, mx = -1; for (int i = 0; i < n; i++) { if (f[i][j]) continue; mn = min(mn, i); mx = max(mx, i); } for (int i = mn; i <= mx; i++) if (f[i][j]) return 0; } sort(begin(seg), end(seg)); for (int i = 1; i < (int) seg.size(); i++) if (-seg[i][1] > -seg[i - 1][1]) return 0; int empty = 0; for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) if (!f[i][j]) empty++; return empty; } /* int main() { int N; assert(1 == scanf("%d", &N)); std::vector<std::vector<int>> F(N, std::vector<int>(N)); for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { assert(1 == scanf("%d", &F[i][j])); } } fclose(stdin); int res = biggest_stadium(N, F); printf("%d\n", res); fclose(stdout); return 0; } //*/
#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...