#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define el '\n'
#define ff first
#define ss second
#define pii pair <ll, ll>
#define pb push_back
#define mkp make_pair
#define fr(i, l, r) for(ll i = l; i <= r; i++)
#define debug(x) \
{ cout << #x << " = " << x << el; }
template<class T, class S>
inline bool chmax(T &a, const S &b) {
return (a < b ? a = b, 1 : 0);
}
template<class T, class S>
inline bool chmin(T &a, const S &b) {
return (a > b ? a = b, 1 : 0);
}
const ll N = 2e3 + 10;
const ll M = 1e5 + 10;
const ll K = 400;
const ll INF = 1e18 + 10;
const ll inf = 1e9 + 10;
const ll LOG = 20;
const ll mod = 1000002022;
mt19937 rnd(time(0));
/*
5
1 1 0 0 1
0 0 0 0 0
0 0 0 0 0
1 1 0 0 0
1 1 0 1 1
*/
ll pref[N][N], n;
vector <pii> v;
ll get(ll x1, ll y1, ll x2, ll y2) {
ll res = pref[x2][y2] - pref[x1 - 1][y2] - pref[x2][y1 - 1] + pref[x1 - 1][y1 - 1];
return res;
}
bool check(ll i, ll j, ll i2, ll j2) {
ll f = get(min(i, i2), j, max(i, i2), j) + get(i2, min(j, j2), i2, max(j, j2));
ll s = get(min(i, i2), j2, max(i, i2), j2) + get(i, min(j, j2), i, max(j, j2));
if(f && s)
return 0;
return 1;
}
bool good(ll x, ll y) {
for(auto [i, j] : v)
if(!check(i, j, x, y)) return 0;
return 1;
}
int biggest_stadium(int N, std::vector<std::vector<int>> F) {
int cnt = 0; n = N;
fr(i, 0, N - 1)
fr(j, 0, N - 1)
cnt += F[i][j];
if(cnt > 1) {
fr(i, 1, n)
fr(j, 1, n)
pref[i][j] = F[i - 1][j - 1] + pref[i - 1][j] + pref[i][j - 1] - pref[i - 1][j - 1];
v.clear();
ll ans = 0;
for(int i = 1; i <= N; i++) {
for(int j = 1; j <= N; j++) {
if(F[i - 1][j - 1]) continue;
ans++;
v.pb({i, j});
}
}
ll i = 1, j = 1;
while(F[i - 1][j - 1]) {
j++;
if(j > N) {
i++; j = 1;
}
}
if(!good(i, j)) return 1;
i = 1; j = 1;
while(F[i - 1][j - 1]) {
i++;
if(i > N) {
j++; i = 1;
}
}
if(!good(i, j)) return 1;
i = 1; j = N;
while(F[i - 1][j - 1]) {
j--;
if(j < 1) {
i++; j = N;
}
}
if(!good(i, j)) return 1;
i = 1; j = N;
while(F[i - 1][j - 1]) {
i++;
if(i > N) {
j--; i = 1;
}
}
if(!good(i, j)) return 1;
i = N; j = 1;
while(F[i - 1][j - 1]) {
i--;
if(i < 1) {
j++; i = N;
}
}
if(!good(i, j)) return 1;
i = N; j = 1;
while(F[i - 1][j - 1]) {
j++;
if(j > N) {
i--; j = 1;
}
}
if(!good(i, j)) return 1;
i = N; j = N;
while(F[i - 1][j - 1]) {
i--;
if(i < 1) {
j--; i = N;
}
}
if(!good(i, j)) return 1;
i = N; j = N;
while(F[i - 1][j - 1]) {
j--;
if(j < 1) {
i--; j = N;
}
}
if(!good(i, j)) return 1;
return ans;
}
ll ans = N * N;
fr(i, 0, N - 1) {
fr(j, 0, N - 1) {
if(F[i][j]) {
ll x = min(i + 1, N - i);
ll y = min(j + 1, N - j);
chmin(ans, N * N - x * y);
}
}
}
return ans;
}
/*
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 time |
Memory |
Grader output |
1 |
Partially correct |
0 ms |
348 KB |
partial |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
348 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 |
Correct |
0 ms |
348 KB |
ok |
7 |
Correct |
1 ms |
348 KB |
ok |
8 |
Correct |
20 ms |
2204 KB |
ok |
9 |
Correct |
170 ms |
31780 KB |
ok |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
348 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 |
0 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 |
348 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 |
348 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 |
0 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 |
348 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 |
356 KB |
partial |
17 |
Partially correct |
0 ms |
344 KB |
partial |
18 |
Partially correct |
0 ms |
348 KB |
partial |
19 |
Partially correct |
1 ms |
348 KB |
partial |
20 |
Correct |
0 ms |
348 KB |
ok |
21 |
Correct |
1 ms |
348 KB |
ok |
22 |
Partially correct |
0 ms |
348 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 |
348 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 |
0 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 |
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 |
Partially correct |
0 ms |
348 KB |
partial |
18 |
Partially correct |
0 ms |
356 KB |
partial |
19 |
Partially correct |
0 ms |
344 KB |
partial |
20 |
Partially correct |
0 ms |
348 KB |
partial |
21 |
Partially correct |
1 ms |
348 KB |
partial |
22 |
Correct |
0 ms |
348 KB |
ok |
23 |
Correct |
1 ms |
348 KB |
ok |
24 |
Partially correct |
0 ms |
348 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 |
344 KB |
partial |
30 |
Partially correct |
1 ms |
604 KB |
partial |
31 |
Partially correct |
0 ms |
604 KB |
partial |
32 |
Partially correct |
0 ms |
348 KB |
partial |
33 |
Partially correct |
0 ms |
348 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 |
0 ms |
348 KB |
partial |
38 |
Partially correct |
1 ms |
348 KB |
partial |
39 |
Partially correct |
1 ms |
348 KB |
partial |
40 |
Partially correct |
1 ms |
604 KB |
partial |
41 |
Partially correct |
1 ms |
604 KB |
partial |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
0 ms |
348 KB |
partial |
2 |
Correct |
1 ms |
348 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 |
0 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 |
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 |
Partially correct |
0 ms |
348 KB |
partial |
18 |
Partially correct |
0 ms |
356 KB |
partial |
19 |
Partially correct |
0 ms |
344 KB |
partial |
20 |
Partially correct |
0 ms |
348 KB |
partial |
21 |
Partially correct |
1 ms |
348 KB |
partial |
22 |
Correct |
0 ms |
348 KB |
ok |
23 |
Correct |
1 ms |
348 KB |
ok |
24 |
Partially correct |
0 ms |
348 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 |
344 KB |
partial |
30 |
Partially correct |
1 ms |
604 KB |
partial |
31 |
Partially correct |
0 ms |
604 KB |
partial |
32 |
Partially correct |
0 ms |
348 KB |
partial |
33 |
Partially correct |
0 ms |
348 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 |
0 ms |
348 KB |
partial |
38 |
Partially correct |
1 ms |
348 KB |
partial |
39 |
Partially correct |
1 ms |
348 KB |
partial |
40 |
Partially correct |
1 ms |
604 KB |
partial |
41 |
Partially correct |
1 ms |
604 KB |
partial |
42 |
Partially correct |
19 ms |
11928 KB |
partial |
43 |
Partially correct |
15 ms |
13076 KB |
partial |
44 |
Partially correct |
14 ms |
11980 KB |
partial |
45 |
Partially correct |
25 ms |
11980 KB |
partial |
46 |
Partially correct |
16 ms |
13268 KB |
partial |
47 |
Partially correct |
30 ms |
11972 KB |
partial |
48 |
Correct |
29 ms |
9420 KB |
ok |
49 |
Partially correct |
15 ms |
12500 KB |
partial |
50 |
Partially correct |
16 ms |
12240 KB |
partial |
51 |
Partially correct |
25 ms |
11796 KB |
partial |
52 |
Partially correct |
14 ms |
8404 KB |
partial |
53 |
Partially correct |
22 ms |
7772 KB |
partial |
54 |
Partially correct |
13 ms |
7896 KB |
partial |
55 |
Partially correct |
26 ms |
8488 KB |
partial |
56 |
Partially correct |
25 ms |
9428 KB |
partial |
57 |
Partially correct |
15 ms |
12564 KB |
partial |
58 |
Partially correct |
18 ms |
13324 KB |
partial |
59 |
Partially correct |
15 ms |
11980 KB |
partial |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
0 ms |
348 KB |
partial |
2 |
Correct |
1 ms |
348 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 |
Correct |
0 ms |
348 KB |
ok |
8 |
Correct |
1 ms |
348 KB |
ok |
9 |
Correct |
20 ms |
2204 KB |
ok |
10 |
Correct |
170 ms |
31780 KB |
ok |
11 |
Partially correct |
0 ms |
344 KB |
partial |
12 |
Partially correct |
0 ms |
348 KB |
partial |
13 |
Partially correct |
0 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 |
348 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 |
356 KB |
partial |
24 |
Partially correct |
0 ms |
344 KB |
partial |
25 |
Partially correct |
0 ms |
348 KB |
partial |
26 |
Partially correct |
1 ms |
348 KB |
partial |
27 |
Correct |
0 ms |
348 KB |
ok |
28 |
Correct |
1 ms |
348 KB |
ok |
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 |
0 ms |
348 KB |
partial |
33 |
Partially correct |
0 ms |
348 KB |
partial |
34 |
Partially correct |
0 ms |
344 KB |
partial |
35 |
Partially correct |
1 ms |
604 KB |
partial |
36 |
Partially correct |
0 ms |
604 KB |
partial |
37 |
Partially correct |
0 ms |
348 KB |
partial |
38 |
Partially correct |
0 ms |
348 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 |
0 ms |
348 KB |
partial |
43 |
Partially correct |
1 ms |
348 KB |
partial |
44 |
Partially correct |
1 ms |
348 KB |
partial |
45 |
Partially correct |
1 ms |
604 KB |
partial |
46 |
Partially correct |
1 ms |
604 KB |
partial |
47 |
Partially correct |
19 ms |
11928 KB |
partial |
48 |
Partially correct |
15 ms |
13076 KB |
partial |
49 |
Partially correct |
14 ms |
11980 KB |
partial |
50 |
Partially correct |
25 ms |
11980 KB |
partial |
51 |
Partially correct |
16 ms |
13268 KB |
partial |
52 |
Partially correct |
30 ms |
11972 KB |
partial |
53 |
Correct |
29 ms |
9420 KB |
ok |
54 |
Partially correct |
15 ms |
12500 KB |
partial |
55 |
Partially correct |
16 ms |
12240 KB |
partial |
56 |
Partially correct |
25 ms |
11796 KB |
partial |
57 |
Partially correct |
14 ms |
8404 KB |
partial |
58 |
Partially correct |
22 ms |
7772 KB |
partial |
59 |
Partially correct |
13 ms |
7896 KB |
partial |
60 |
Partially correct |
26 ms |
8488 KB |
partial |
61 |
Partially correct |
25 ms |
9428 KB |
partial |
62 |
Partially correct |
15 ms |
12564 KB |
partial |
63 |
Partially correct |
18 ms |
13324 KB |
partial |
64 |
Partially correct |
15 ms |
11980 KB |
partial |
65 |
Partially correct |
258 ms |
129424 KB |
partial |
66 |
Partially correct |
201 ms |
97720 KB |
partial |
67 |
Partially correct |
197 ms |
73108 KB |
partial |
68 |
Partially correct |
213 ms |
129444 KB |
partial |
69 |
Partially correct |
256 ms |
129912 KB |
partial |
70 |
Partially correct |
245 ms |
130484 KB |
partial |
71 |
Partially correct |
214 ms |
129972 KB |
partial |
72 |
Partially correct |
225 ms |
130932 KB |
partial |
73 |
Correct |
278 ms |
97716 KB |
ok |
74 |
Correct |
295 ms |
97420 KB |
ok |
75 |
Partially correct |
233 ms |
98228 KB |
partial |
76 |
Partially correct |
195 ms |
130984 KB |
partial |
77 |
Partially correct |
198 ms |
130228 KB |
partial |
78 |
Partially correct |
198 ms |
130180 KB |
partial |
79 |
Partially correct |
174 ms |
67524 KB |
partial |
80 |
Partially correct |
172 ms |
69312 KB |
partial |
81 |
Partially correct |
182 ms |
73108 KB |
partial |
82 |
Partially correct |
199 ms |
81560 KB |
partial |
83 |
Partially correct |
236 ms |
80312 KB |
partial |
84 |
Partially correct |
202 ms |
73120 KB |
partial |
85 |
Partially correct |
228 ms |
67724 KB |
partial |
86 |
Partially correct |
196 ms |
80796 KB |
partial |
87 |
Partially correct |
181 ms |
81084 KB |
partial |
88 |
Partially correct |
201 ms |
98188 KB |
partial |
89 |
Partially correct |
205 ms |
130752 KB |
partial |
90 |
Partially correct |
232 ms |
130200 KB |
partial |
91 |
Partially correct |
209 ms |
129664 KB |
partial |
92 |
Partially correct |
204 ms |
72092 KB |
partial |
93 |
Partially correct |
176 ms |
71872 KB |
partial |
94 |
Partially correct |
177 ms |
72380 KB |
partial |
95 |
Partially correct |
239 ms |
71568 KB |
partial |
96 |
Partially correct |
176 ms |
73372 KB |
partial |
97 |
Partially correct |
177 ms |
72124 KB |
partial |
98 |
Partially correct |
170 ms |
69340 KB |
partial |
99 |
Partially correct |
203 ms |
129960 KB |
partial |
100 |
Partially correct |
203 ms |
129716 KB |
partial |
101 |
Partially correct |
208 ms |
130688 KB |
partial |
102 |
Partially correct |
203 ms |
129956 KB |
partial |
103 |
Partially correct |
203 ms |
129360 KB |
partial |
104 |
Partially correct |
203 ms |
129412 KB |
partial |
105 |
Partially correct |
232 ms |
130176 KB |
partial |
106 |
Partially correct |
203 ms |
129456 KB |
partial |
107 |
Partially correct |
208 ms |
130996 KB |
partial |
108 |
Partially correct |
204 ms |
129460 KB |
partial |
109 |
Partially correct |
207 ms |
129204 KB |
partial |