#include "soccer.h"
#include "bits/stdc++.h"
using namespace std;
using i32 = int;
#define int long long
#define len(x) (int)(x.size())
#define all(x) x.begin(), x.end()
#define inf 1000'000'000'000'000'000LL
#define bit(x, i) (((x) >> i) & 1)
template<typename T>
using vec = vector<T>;
i32 biggest_stadium(i32 n, std::vector<std::vector<i32>> F) {
int cnt = 0;
set<int> columns;
set<int> rows;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cnt += F[i][j] == 0;
if (F[i][j] == 0) {
rows.insert(i);
columns.insert(j);
}
}
}
vec<vec<bool>> used(n, vec<bool>(n, false));
for (int i = 1; i < n; i++) {
for (int j = 0; j < n; j++) {
if (used[i][j]) continue;
if (!F[i][j]) continue;
if (F[i - 1][j] == 0) {
for (int k = i; k < n; k++) {
if (F[k][j] == 0) return 0;
used[k][j] = true;
}
}
}
}
used = vec<vec<bool>>(n, vec<bool>(n, false));
for (int i = 0; i < n; i++) {
for (int j = 1; j < n; j++) {
if (used[i][j]) continue;
if (!F[i][j]) continue;
if (F[i][j - 1] == 0) {
for (int k = j; k < n; k++) {
if (F[i][k] == 0) return 0;
used[i][k] = true;
}
}
}
}
vec<vec<int>> pref(n + 1, vec<int>(n + 1, 0));
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
pref[i + 1][j + 1] = pref[i][j + 1] + pref[i + 1][j] - pref[i][j] + F[i][j];
}
}
auto get = [&](int i1, int j1, int i2, int j2) {
return pref[i2 + 1][j2 + 1] - pref[i2 + 1][j1] - pref[i1][j2 + 1] + pref[i1][j1];
};
vec<pair<int, int>> X(n, {inf, -inf});
vec<pair<int, int>> Y(n, {inf, -inf});
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (F[i][j]) continue;
X[i].first = min(X[i].first, j);
X[i].second = max(X[i].first, j);
Y[j].first = min(Y[j].first, i);
Y[j].second = max(Y[j].first, i);
}
}
for (int i: rows) {
for (int j: columns) {
if (F[i][j] == 0) continue;
int i1 = Y[j].first;
int i2 = Y[j].second;
int j1 = X[i].first;
int j2 = X[i].second;
if(get(i1,j1,i2,j2) != 0)
return 0;
}
}
return cnt;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
0 ms |
348 KB |
partial |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
344 KB |
ok |
2 |
Correct |
1 ms |
348 KB |
ok |
3 |
Correct |
0 ms |
348 KB |
ok |
4 |
Correct |
0 ms |
348 KB |
ok |
5 |
Correct |
0 ms |
348 KB |
ok |
6 |
Partially correct |
0 ms |
348 KB |
partial |
7 |
Partially correct |
1 ms |
420 KB |
partial |
8 |
Partially correct |
22 ms |
2456 KB |
partial |
9 |
Partially correct |
382 ms |
32592 KB |
partial |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
344 KB |
ok |
2 |
Correct |
1 ms |
348 KB |
ok |
3 |
Partially correct |
0 ms |
344 KB |
partial |
4 |
Partially correct |
0 ms |
348 KB |
partial |
5 |
Partially correct |
1 ms |
348 KB |
partial |
6 |
Partially correct |
0 ms |
348 KB |
partial |
7 |
Partially correct |
0 ms |
348 KB |
partial |
8 |
Correct |
0 ms |
348 KB |
ok |
9 |
Correct |
0 ms |
348 KB |
ok |
10 |
Partially correct |
0 ms |
420 KB |
partial |
11 |
Partially correct |
0 ms |
348 KB |
partial |
12 |
Partially correct |
0 ms |
348 KB |
partial |
13 |
Correct |
0 ms |
348 KB |
ok |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
0 ms |
348 KB |
partial |
2 |
Correct |
1 ms |
344 KB |
ok |
3 |
Correct |
1 ms |
348 KB |
ok |
4 |
Partially correct |
0 ms |
344 KB |
partial |
5 |
Partially correct |
0 ms |
348 KB |
partial |
6 |
Partially correct |
1 ms |
348 KB |
partial |
7 |
Partially correct |
0 ms |
348 KB |
partial |
8 |
Partially correct |
0 ms |
348 KB |
partial |
9 |
Correct |
0 ms |
348 KB |
ok |
10 |
Correct |
0 ms |
348 KB |
ok |
11 |
Partially correct |
0 ms |
420 KB |
partial |
12 |
Partially correct |
0 ms |
348 KB |
partial |
13 |
Partially correct |
0 ms |
348 KB |
partial |
14 |
Correct |
0 ms |
348 KB |
ok |
15 |
Partially correct |
0 ms |
348 KB |
partial |
16 |
Partially correct |
0 ms |
376 KB |
partial |
17 |
Partially correct |
0 ms |
348 KB |
partial |
18 |
Partially correct |
0 ms |
348 KB |
partial |
19 |
Partially correct |
0 ms |
344 KB |
partial |
20 |
Correct |
1 ms |
348 KB |
ok |
21 |
Correct |
0 ms |
348 KB |
ok |
22 |
Partially correct |
1 ms |
344 KB |
partial |
23 |
Partially correct |
0 ms |
348 KB |
partial |
24 |
Partially correct |
0 ms |
348 KB |
partial |
25 |
Partially correct |
0 ms |
348 KB |
partial |
26 |
Partially correct |
0 ms |
348 KB |
partial |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
0 ms |
348 KB |
partial |
2 |
Correct |
1 ms |
344 KB |
ok |
3 |
Correct |
1 ms |
348 KB |
ok |
4 |
Correct |
0 ms |
348 KB |
ok |
5 |
Correct |
0 ms |
348 KB |
ok |
6 |
Partially correct |
0 ms |
344 KB |
partial |
7 |
Partially correct |
0 ms |
348 KB |
partial |
8 |
Partially correct |
1 ms |
348 KB |
partial |
9 |
Partially correct |
0 ms |
348 KB |
partial |
10 |
Partially correct |
0 ms |
348 KB |
partial |
11 |
Correct |
0 ms |
348 KB |
ok |
12 |
Correct |
0 ms |
348 KB |
ok |
13 |
Partially correct |
0 ms |
420 KB |
partial |
14 |
Partially correct |
0 ms |
348 KB |
partial |
15 |
Partially correct |
0 ms |
348 KB |
partial |
16 |
Correct |
0 ms |
348 KB |
ok |
17 |
Partially correct |
0 ms |
348 KB |
partial |
18 |
Partially correct |
0 ms |
376 KB |
partial |
19 |
Partially correct |
0 ms |
348 KB |
partial |
20 |
Partially correct |
0 ms |
348 KB |
partial |
21 |
Partially correct |
0 ms |
344 KB |
partial |
22 |
Correct |
1 ms |
348 KB |
ok |
23 |
Correct |
0 ms |
348 KB |
ok |
24 |
Partially correct |
1 ms |
344 KB |
partial |
25 |
Partially correct |
0 ms |
348 KB |
partial |
26 |
Partially correct |
0 ms |
348 KB |
partial |
27 |
Partially correct |
0 ms |
348 KB |
partial |
28 |
Partially correct |
0 ms |
348 KB |
partial |
29 |
Partially correct |
0 ms |
348 KB |
partial |
30 |
Partially correct |
0 ms |
348 KB |
partial |
31 |
Partially correct |
0 ms |
348 KB |
partial |
32 |
Partially correct |
1 ms |
348 KB |
partial |
33 |
Partially correct |
1 ms |
344 KB |
partial |
34 |
Correct |
0 ms |
348 KB |
ok |
35 |
Correct |
1 ms |
348 KB |
ok |
36 |
Partially correct |
0 ms |
348 KB |
partial |
37 |
Partially correct |
1 ms |
348 KB |
partial |
38 |
Partially correct |
0 ms |
348 KB |
partial |
39 |
Partially correct |
0 ms |
348 KB |
partial |
40 |
Partially correct |
0 ms |
348 KB |
partial |
41 |
Partially correct |
1 ms |
348 KB |
partial |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
0 ms |
348 KB |
partial |
2 |
Correct |
1 ms |
344 KB |
ok |
3 |
Correct |
1 ms |
348 KB |
ok |
4 |
Correct |
0 ms |
348 KB |
ok |
5 |
Correct |
0 ms |
348 KB |
ok |
6 |
Partially correct |
0 ms |
344 KB |
partial |
7 |
Partially correct |
0 ms |
348 KB |
partial |
8 |
Partially correct |
1 ms |
348 KB |
partial |
9 |
Partially correct |
0 ms |
348 KB |
partial |
10 |
Partially correct |
0 ms |
348 KB |
partial |
11 |
Correct |
0 ms |
348 KB |
ok |
12 |
Correct |
0 ms |
348 KB |
ok |
13 |
Partially correct |
0 ms |
420 KB |
partial |
14 |
Partially correct |
0 ms |
348 KB |
partial |
15 |
Partially correct |
0 ms |
348 KB |
partial |
16 |
Correct |
0 ms |
348 KB |
ok |
17 |
Partially correct |
0 ms |
348 KB |
partial |
18 |
Partially correct |
0 ms |
376 KB |
partial |
19 |
Partially correct |
0 ms |
348 KB |
partial |
20 |
Partially correct |
0 ms |
348 KB |
partial |
21 |
Partially correct |
0 ms |
344 KB |
partial |
22 |
Correct |
1 ms |
348 KB |
ok |
23 |
Correct |
0 ms |
348 KB |
ok |
24 |
Partially correct |
1 ms |
344 KB |
partial |
25 |
Partially correct |
0 ms |
348 KB |
partial |
26 |
Partially correct |
0 ms |
348 KB |
partial |
27 |
Partially correct |
0 ms |
348 KB |
partial |
28 |
Partially correct |
0 ms |
348 KB |
partial |
29 |
Partially correct |
0 ms |
348 KB |
partial |
30 |
Partially correct |
0 ms |
348 KB |
partial |
31 |
Partially correct |
0 ms |
348 KB |
partial |
32 |
Partially correct |
1 ms |
348 KB |
partial |
33 |
Partially correct |
1 ms |
344 KB |
partial |
34 |
Correct |
0 ms |
348 KB |
ok |
35 |
Correct |
1 ms |
348 KB |
ok |
36 |
Partially correct |
0 ms |
348 KB |
partial |
37 |
Partially correct |
1 ms |
348 KB |
partial |
38 |
Partially correct |
0 ms |
348 KB |
partial |
39 |
Partially correct |
0 ms |
348 KB |
partial |
40 |
Partially correct |
0 ms |
348 KB |
partial |
41 |
Partially correct |
1 ms |
348 KB |
partial |
42 |
Partially correct |
23 ms |
2904 KB |
partial |
43 |
Partially correct |
26 ms |
3156 KB |
partial |
44 |
Partially correct |
20 ms |
2908 KB |
partial |
45 |
Partially correct |
20 ms |
2944 KB |
partial |
46 |
Partially correct |
21 ms |
2904 KB |
partial |
47 |
Partially correct |
20 ms |
2940 KB |
partial |
48 |
Correct |
20 ms |
4952 KB |
ok |
49 |
Partially correct |
17 ms |
2824 KB |
partial |
50 |
Partially correct |
26 ms |
2908 KB |
partial |
51 |
Partially correct |
25 ms |
2944 KB |
partial |
52 |
Partially correct |
16 ms |
4956 KB |
partial |
53 |
Partially correct |
15 ms |
4744 KB |
partial |
54 |
Partially correct |
16 ms |
4972 KB |
partial |
55 |
Partially correct |
22 ms |
4864 KB |
partial |
56 |
Partially correct |
17 ms |
2908 KB |
partial |
57 |
Partially correct |
21 ms |
2908 KB |
partial |
58 |
Partially correct |
24 ms |
2956 KB |
partial |
59 |
Partially correct |
21 ms |
2908 KB |
partial |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
0 ms |
348 KB |
partial |
2 |
Correct |
1 ms |
344 KB |
ok |
3 |
Correct |
1 ms |
348 KB |
ok |
4 |
Correct |
0 ms |
348 KB |
ok |
5 |
Correct |
0 ms |
348 KB |
ok |
6 |
Correct |
0 ms |
348 KB |
ok |
7 |
Partially correct |
0 ms |
348 KB |
partial |
8 |
Partially correct |
1 ms |
420 KB |
partial |
9 |
Partially correct |
22 ms |
2456 KB |
partial |
10 |
Partially correct |
382 ms |
32592 KB |
partial |
11 |
Partially correct |
0 ms |
344 KB |
partial |
12 |
Partially correct |
0 ms |
348 KB |
partial |
13 |
Partially correct |
1 ms |
348 KB |
partial |
14 |
Partially correct |
0 ms |
348 KB |
partial |
15 |
Partially correct |
0 ms |
348 KB |
partial |
16 |
Correct |
0 ms |
348 KB |
ok |
17 |
Correct |
0 ms |
348 KB |
ok |
18 |
Partially correct |
0 ms |
420 KB |
partial |
19 |
Partially correct |
0 ms |
348 KB |
partial |
20 |
Partially correct |
0 ms |
348 KB |
partial |
21 |
Correct |
0 ms |
348 KB |
ok |
22 |
Partially correct |
0 ms |
348 KB |
partial |
23 |
Partially correct |
0 ms |
376 KB |
partial |
24 |
Partially correct |
0 ms |
348 KB |
partial |
25 |
Partially correct |
0 ms |
348 KB |
partial |
26 |
Partially correct |
0 ms |
344 KB |
partial |
27 |
Correct |
1 ms |
348 KB |
ok |
28 |
Correct |
0 ms |
348 KB |
ok |
29 |
Partially correct |
1 ms |
344 KB |
partial |
30 |
Partially correct |
0 ms |
348 KB |
partial |
31 |
Partially correct |
0 ms |
348 KB |
partial |
32 |
Partially correct |
0 ms |
348 KB |
partial |
33 |
Partially correct |
0 ms |
348 KB |
partial |
34 |
Partially correct |
0 ms |
348 KB |
partial |
35 |
Partially correct |
0 ms |
348 KB |
partial |
36 |
Partially correct |
0 ms |
348 KB |
partial |
37 |
Partially correct |
1 ms |
348 KB |
partial |
38 |
Partially correct |
1 ms |
344 KB |
partial |
39 |
Correct |
0 ms |
348 KB |
ok |
40 |
Correct |
1 ms |
348 KB |
ok |
41 |
Partially correct |
0 ms |
348 KB |
partial |
42 |
Partially correct |
1 ms |
348 KB |
partial |
43 |
Partially correct |
0 ms |
348 KB |
partial |
44 |
Partially correct |
0 ms |
348 KB |
partial |
45 |
Partially correct |
0 ms |
348 KB |
partial |
46 |
Partially correct |
1 ms |
348 KB |
partial |
47 |
Partially correct |
23 ms |
2904 KB |
partial |
48 |
Partially correct |
26 ms |
3156 KB |
partial |
49 |
Partially correct |
20 ms |
2908 KB |
partial |
50 |
Partially correct |
20 ms |
2944 KB |
partial |
51 |
Partially correct |
21 ms |
2904 KB |
partial |
52 |
Partially correct |
20 ms |
2940 KB |
partial |
53 |
Correct |
20 ms |
4952 KB |
ok |
54 |
Partially correct |
17 ms |
2824 KB |
partial |
55 |
Partially correct |
26 ms |
2908 KB |
partial |
56 |
Partially correct |
25 ms |
2944 KB |
partial |
57 |
Partially correct |
16 ms |
4956 KB |
partial |
58 |
Partially correct |
15 ms |
4744 KB |
partial |
59 |
Partially correct |
16 ms |
4972 KB |
partial |
60 |
Partially correct |
22 ms |
4864 KB |
partial |
61 |
Partially correct |
17 ms |
2908 KB |
partial |
62 |
Partially correct |
21 ms |
2908 KB |
partial |
63 |
Partially correct |
24 ms |
2956 KB |
partial |
64 |
Partially correct |
21 ms |
2908 KB |
partial |
65 |
Partially correct |
370 ms |
36692 KB |
partial |
66 |
Partially correct |
348 ms |
40276 KB |
partial |
67 |
Partially correct |
253 ms |
40328 KB |
partial |
68 |
Partially correct |
405 ms |
37680 KB |
partial |
69 |
Partially correct |
389 ms |
40276 KB |
partial |
70 |
Partially correct |
412 ms |
40272 KB |
partial |
71 |
Partially correct |
379 ms |
40468 KB |
partial |
72 |
Partially correct |
424 ms |
40324 KB |
partial |
73 |
Correct |
366 ms |
71812 KB |
ok |
74 |
Correct |
376 ms |
71976 KB |
ok |
75 |
Partially correct |
289 ms |
40276 KB |
partial |
76 |
Partially correct |
347 ms |
40276 KB |
partial |
77 |
Partially correct |
326 ms |
40016 KB |
partial |
78 |
Partially correct |
435 ms |
40272 KB |
partial |
79 |
Partially correct |
219 ms |
40336 KB |
partial |
80 |
Partially correct |
242 ms |
40272 KB |
partial |
81 |
Partially correct |
240 ms |
40340 KB |
partial |
82 |
Partially correct |
286 ms |
40328 KB |
partial |
83 |
Partially correct |
275 ms |
40456 KB |
partial |
84 |
Partially correct |
244 ms |
71708 KB |
partial |
85 |
Partially correct |
273 ms |
71764 KB |
partial |
86 |
Partially correct |
259 ms |
71832 KB |
partial |
87 |
Partially correct |
306 ms |
71844 KB |
partial |
88 |
Partially correct |
288 ms |
40336 KB |
partial |
89 |
Partially correct |
381 ms |
39760 KB |
partial |
90 |
Partially correct |
332 ms |
40476 KB |
partial |
91 |
Partially correct |
348 ms |
40272 KB |
partial |
92 |
Partially correct |
241 ms |
40532 KB |
partial |
93 |
Partially correct |
276 ms |
40340 KB |
partial |
94 |
Partially correct |
230 ms |
40272 KB |
partial |
95 |
Partially correct |
218 ms |
40276 KB |
partial |
96 |
Partially correct |
211 ms |
40340 KB |
partial |
97 |
Partially correct |
212 ms |
40332 KB |
partial |
98 |
Partially correct |
216 ms |
40276 KB |
partial |
99 |
Partially correct |
365 ms |
40276 KB |
partial |
100 |
Partially correct |
372 ms |
40272 KB |
partial |
101 |
Partially correct |
368 ms |
40392 KB |
partial |
102 |
Partially correct |
358 ms |
40472 KB |
partial |
103 |
Partially correct |
354 ms |
40272 KB |
partial |
104 |
Partially correct |
367 ms |
40332 KB |
partial |
105 |
Partially correct |
369 ms |
40272 KB |
partial |
106 |
Partially correct |
378 ms |
40336 KB |
partial |
107 |
Partially correct |
375 ms |
40380 KB |
partial |
108 |
Partially correct |
362 ms |
40272 KB |
partial |
109 |
Partially correct |
409 ms |
40376 KB |
partial |