제출 #1158573

#제출 시각아이디문제언어결과실행 시간메모리
1158573The_SamuraiSoccer Stadium (IOI23_soccer)C++20
1.50 / 100
193 ms31768 KiB
#include "soccer.h" #include "bits/stdc++.h" using namespace std; struct dsu { vector<int> p, size; void init(int n) { p.assign(n + 1, 0); size.assign(n + 1, 1); for (int i = 1; i <= n; i++) p[i] = i; } int get(int a) { return (p[a] == a ? a : p[a] = get(p[a])); } void add(int a, int b) { a = get(a); b = get(b); if (a == b) return; if (size[a] > size[b]) swap(a, b); size[b] += size[a]; p[a] = b; } }; int biggest_stadium(int n, std::vector<std::vector<int>> a) { pair<int, int> tr = make_pair(-1, -1); for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) { if (a[i][j]) tr = make_pair(i, j); } if (tr.first == -1) return n * n; auto [x, y] = tr; int ans = max(x, n - x - 1) * n + max(y, n - y - 1); ans = max(ans, max(y, n - y - 1) * n + max(x, n - x - 1)); 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...