#include "rect.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
vector<int> ms(vector<int> &a, bool f) {
int n = a.size();
vector<int> b(n, f ? n : -1), stk;
for (int i = (f ? n - 1 : 0); i != (f ? -1 : n); i += (f ? -1 : 1)) {
while (!stk.empty() && a[stk.back()] < a[i]) {
stk.pop_back();
}
if (!stk.empty()) {
b[i] = stk.back();
}
stk.push_back(i);
}
return b;
}
int lg[2501];
template <class S>
struct sparse_table {
int n;
S e;
S (*f)(S, S);
S st[2500][12];
sparse_table() {
}
sparse_table(vector<S> &a, S (*_f)(S, S), S _e) : n(a.size()), f(_f), e(_e) {
for (int i = 0; i < n; i++) {
st[i][0] = a[i];
}
for (int j = 0; j < lg[n]; j++) {
for (int i = 0; i + (2 << j) <= n; i++) {
st[i][j + 1] = f(st[i][j], st[i + (1 << j)][j]);
}
}
}
S query(int l, int r) const {
if (l == r) {
return e;
}
int k = lg[r - l];
return f(st[l][k], st[r - (1 << k)][k]);
}
};
pair<int, int> F(pair<int, int> x, pair<int, int> y) {
return {max(x.first, y.first), min(x.second, y.second)};
}
int fmin(int x, int y) {
return min(x, y);
}
int fmax(int x, int y) {
return max(x, y);
}
int n, m;
vector<vector<int>> a;
int L[2500][2500];
int R[2500][2500];
int U[2500][2500];
int D[2500][2500];
int DL[2500][2500];
int DR[2500][2500];
int UL[2500][2500];
int UR[2500][2500];
int LD[2500][2500];
int LU[2500][2500];
int RD[2500][2500];
int RU[2500][2500];
int ans = 0;
int check(int x1, int y1, int x2, int y2) {
if (x1 > x2 || y1 > y2 || x1 < 1 || y1 < 1 || x2 >= n - 1 || y2 >= m - 1) {
return 0;
}
assert(R[x1][y1 - 1] == y2 + 1);
if (a[x1][y1 - 1] <= a[x1][y2 + 1]) {
if (R[x1][y1 - 1] != y2 + 1) {
return 0;
}
if (RD[x1][y1 - 1] <= x2) {
return 0;
}
}
if (a[x2][y1 - 1] <= a[x2][y2 + 1]) {
if (R[x2][y1 - 1] != y2 + 1) {
return 0;
}
if (RU[x2][y1 - 1] >= x1) {
return 0;
}
}
if (a[x2][y1 - 1] >= a[x2][y2 + 1]) {
if (L[x2][y2 + 1] != y1 - 1) {
return 0;
}
if (LU[x2][y2 + 1] >= x1) {
return 0;
}
}
if (a[x1 - 1][y1] <= a[x2 + 1][y1]) {
if (D[x1 - 1][y1] != x2 + 1) {
return 0;
}
if (DR[x1 - 1][y1] <= y2) {
return 0;
}
}
if (a[x1 - 1][y1] >= a[x2 + 1][y1]) {
if (U[x2 + 1][y1] != x1 - 1) {
return 0;
}
if (UR[x2 + 1][y1] <= y2) {
return 0;
}
}
if (a[x1 - 1][y2] <= a[x2 + 1][y2]) {
if (D[x1 - 1][y2] != x2 + 1) {
return 0;
}
if (DL[x1 - 1][y2] >= y1) {
return 0;
}
}
if (a[x1 - 1][y2] >= a[x2 + 1][y2]) {
if (U[x2 + 1][y2] != x1 - 1) {
return 0;
}
if (UL[x2 + 1][y2] >= y1) {
return 0;
}
}
return 1;
}
void solve(int eq) {
for (int i = 0; i < n; i++) {
auto l = ms(a[i], 0);
auto r = ms(a[i], 1);
copy(l.begin(), l.end(), L[i]);
copy(r.begin(), r.end(), R[i]);
}
for (int j = 0; j < m; j++) {
vector<int> v(n);
for (int i = 0; i < n; i++) {
v[i] = a[i][j];
}
auto u = ms(v, 0);
auto d = ms(v, 1);
for (int i = 0; i < n; i++) {
U[i][j] = u[i];
D[i][j] = d[i];
}
}
vector<int> T[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (U[i][j] != -1) {
T[U[i][j]][j].push_back(i);
}
}
}
for (int j = 1; j < m - 1; j++) {
vector<pair<int, int>> v(n);
for (int i = 0; i < n; i++) {
v[i] = {L[i][j + 1], R[i][j - 1]};
}
sparse_table<pair<int, int>> s(v, F, {-1, m});
for (int i = 0; i < n; i++) {
if (i + 1 < n - 1 && D[i][j] != n) {
tie(DL[i][j], DR[i][j]) = s.query(i + 1, D[i][j]);
}
if (i - 1 > 0 && U[i][j] != -1) {
tie(UL[i][j], UR[i][j]) = s.query(U[i][j] + 1, i);
}
}
}
for (int i = 1; i < n - 1; i++) {
vector<pair<int, int>> v(m);
for (int j = 0; j < m; j++) {
v[j] = {U[i + 1][j], D[i - 1][j]};
}
sparse_table<pair<int, int>> s(v, F, {-1, n});
for (int j = 0; j < m; j++) {
if (j + 1 < m - 1 && R[i][j] != m) {
tie(RU[i][j], RD[i][j]) = s.query(j + 1, R[i][j]);
}
if (j - 1 > 0 && L[i][j] != -1) {
tie(LU[i][j], LD[i][j]) = s.query(L[i][j] + 1, j);
}
}
}
for (int i = 1; i < n - 1; i++) {
for (int j = 1; j < m - 1; j++) {
int y = R[i][j - 1] - 1;
if (y != m - 1 && (eq || a[i][j - 1] != a[i][y + 1])) {
int x = D[i - 1][j] - 1;
if (x != n - 1) {
ans += check(i, j, x, y);
}
for (int k : T[i - 1][j]) {
if (a[i - 1][j] != a[k][j]) {
ans += check(i, j, k - 1, y);
}
}
}
}
}
}
ll count_rectangles(vector<vector<int>> A) {
swap(a, A);
for (int i = 2; i <= 2500; i++) {
lg[i] = lg[i / 2] + 1;
}
n = a.size();
m = a[0].size();
solve(1);
for (int i = 0; i < n; i++) {
reverse(a[i].begin(), a[i].end());
}
solve(0);
return ans;
}
Compilation message
rect.cpp: In instantiation of 'sparse_table<S>::sparse_table(std::vector<_Tp>&, S (*)(S, S), S) [with S = std::pair<int, int>]':
rect.cpp:165:53: required from here
rect.cpp:24:9: warning: 'sparse_table<std::pair<int, int> >::f' will be initialized after [-Wreorder]
24 | S (*f)(S, S);
| ^
rect.cpp:23:7: warning: 'std::pair<int, int> sparse_table<std::pair<int, int> >::e' [-Wreorder]
23 | S e;
| ^
rect.cpp:28:5: warning: when initialized here [-Wreorder]
28 | sparse_table(vector<S> &a, S (*_f)(S, S), S _e) : n(a.size()), f(_f), e(_e) {
| ^~~~~~~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
724 KB |
Output is correct |
2 |
Correct |
2 ms |
2004 KB |
Output is correct |
3 |
Correct |
1 ms |
2004 KB |
Output is correct |
4 |
Correct |
2 ms |
2004 KB |
Output is correct |
5 |
Correct |
1 ms |
2004 KB |
Output is correct |
6 |
Correct |
2 ms |
2004 KB |
Output is correct |
7 |
Correct |
1 ms |
2004 KB |
Output is correct |
8 |
Correct |
1 ms |
1108 KB |
Output is correct |
9 |
Correct |
2 ms |
2004 KB |
Output is correct |
10 |
Correct |
2 ms |
1972 KB |
Output is correct |
11 |
Correct |
2 ms |
2004 KB |
Output is correct |
12 |
Correct |
2 ms |
2004 KB |
Output is correct |
13 |
Correct |
1 ms |
468 KB |
Output is correct |
14 |
Correct |
1 ms |
696 KB |
Output is correct |
15 |
Correct |
1 ms |
940 KB |
Output is correct |
16 |
Correct |
1 ms |
596 KB |
Output is correct |
17 |
Correct |
1 ms |
468 KB |
Output is correct |
18 |
Correct |
1 ms |
468 KB |
Output is correct |
19 |
Correct |
2 ms |
2004 KB |
Output is correct |
20 |
Correct |
1 ms |
2004 KB |
Output is correct |
21 |
Correct |
1 ms |
724 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
724 KB |
Output is correct |
2 |
Correct |
2 ms |
2004 KB |
Output is correct |
3 |
Correct |
1 ms |
2004 KB |
Output is correct |
4 |
Correct |
2 ms |
2004 KB |
Output is correct |
5 |
Correct |
1 ms |
2004 KB |
Output is correct |
6 |
Correct |
2 ms |
2004 KB |
Output is correct |
7 |
Correct |
1 ms |
2004 KB |
Output is correct |
8 |
Correct |
1 ms |
1108 KB |
Output is correct |
9 |
Correct |
2 ms |
2004 KB |
Output is correct |
10 |
Correct |
2 ms |
1972 KB |
Output is correct |
11 |
Correct |
2 ms |
2004 KB |
Output is correct |
12 |
Correct |
2 ms |
2004 KB |
Output is correct |
13 |
Correct |
1 ms |
468 KB |
Output is correct |
14 |
Correct |
1 ms |
696 KB |
Output is correct |
15 |
Correct |
1 ms |
940 KB |
Output is correct |
16 |
Correct |
1 ms |
596 KB |
Output is correct |
17 |
Correct |
1 ms |
468 KB |
Output is correct |
18 |
Correct |
1 ms |
468 KB |
Output is correct |
19 |
Correct |
2 ms |
2004 KB |
Output is correct |
20 |
Correct |
1 ms |
2004 KB |
Output is correct |
21 |
Correct |
1 ms |
724 KB |
Output is correct |
22 |
Correct |
5 ms |
5076 KB |
Output is correct |
23 |
Correct |
5 ms |
5076 KB |
Output is correct |
24 |
Correct |
5 ms |
4984 KB |
Output is correct |
25 |
Correct |
5 ms |
4948 KB |
Output is correct |
26 |
Correct |
7 ms |
4924 KB |
Output is correct |
27 |
Correct |
5 ms |
4948 KB |
Output is correct |
28 |
Correct |
5 ms |
4992 KB |
Output is correct |
29 |
Correct |
4 ms |
4712 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
724 KB |
Output is correct |
2 |
Correct |
2 ms |
2004 KB |
Output is correct |
3 |
Correct |
1 ms |
2004 KB |
Output is correct |
4 |
Correct |
2 ms |
2004 KB |
Output is correct |
5 |
Correct |
1 ms |
2004 KB |
Output is correct |
6 |
Correct |
2 ms |
2004 KB |
Output is correct |
7 |
Correct |
1 ms |
2004 KB |
Output is correct |
8 |
Correct |
1 ms |
1108 KB |
Output is correct |
9 |
Correct |
2 ms |
2004 KB |
Output is correct |
10 |
Correct |
2 ms |
1972 KB |
Output is correct |
11 |
Correct |
2 ms |
2004 KB |
Output is correct |
12 |
Correct |
2 ms |
2004 KB |
Output is correct |
13 |
Correct |
1 ms |
468 KB |
Output is correct |
14 |
Correct |
1 ms |
696 KB |
Output is correct |
15 |
Correct |
1 ms |
940 KB |
Output is correct |
16 |
Correct |
1 ms |
596 KB |
Output is correct |
17 |
Correct |
5 ms |
5076 KB |
Output is correct |
18 |
Correct |
5 ms |
5076 KB |
Output is correct |
19 |
Correct |
5 ms |
4984 KB |
Output is correct |
20 |
Correct |
5 ms |
4948 KB |
Output is correct |
21 |
Correct |
7 ms |
4924 KB |
Output is correct |
22 |
Correct |
5 ms |
4948 KB |
Output is correct |
23 |
Correct |
5 ms |
4992 KB |
Output is correct |
24 |
Correct |
4 ms |
4712 KB |
Output is correct |
25 |
Correct |
1 ms |
468 KB |
Output is correct |
26 |
Correct |
1 ms |
468 KB |
Output is correct |
27 |
Correct |
2 ms |
2004 KB |
Output is correct |
28 |
Correct |
1 ms |
2004 KB |
Output is correct |
29 |
Correct |
1 ms |
724 KB |
Output is correct |
30 |
Correct |
19 ms |
14660 KB |
Output is correct |
31 |
Correct |
19 ms |
14676 KB |
Output is correct |
32 |
Correct |
18 ms |
14820 KB |
Output is correct |
33 |
Correct |
21 ms |
14140 KB |
Output is correct |
34 |
Correct |
26 ms |
14080 KB |
Output is correct |
35 |
Correct |
27 ms |
14164 KB |
Output is correct |
36 |
Correct |
24 ms |
14220 KB |
Output is correct |
37 |
Correct |
23 ms |
14140 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
724 KB |
Output is correct |
2 |
Correct |
2 ms |
2004 KB |
Output is correct |
3 |
Correct |
1 ms |
2004 KB |
Output is correct |
4 |
Correct |
2 ms |
2004 KB |
Output is correct |
5 |
Correct |
1 ms |
2004 KB |
Output is correct |
6 |
Correct |
2 ms |
2004 KB |
Output is correct |
7 |
Correct |
1 ms |
2004 KB |
Output is correct |
8 |
Correct |
1 ms |
1108 KB |
Output is correct |
9 |
Correct |
2 ms |
2004 KB |
Output is correct |
10 |
Correct |
2 ms |
1972 KB |
Output is correct |
11 |
Correct |
2 ms |
2004 KB |
Output is correct |
12 |
Correct |
2 ms |
2004 KB |
Output is correct |
13 |
Correct |
1 ms |
468 KB |
Output is correct |
14 |
Correct |
1 ms |
696 KB |
Output is correct |
15 |
Correct |
1 ms |
940 KB |
Output is correct |
16 |
Correct |
1 ms |
596 KB |
Output is correct |
17 |
Correct |
5 ms |
5076 KB |
Output is correct |
18 |
Correct |
5 ms |
5076 KB |
Output is correct |
19 |
Correct |
5 ms |
4984 KB |
Output is correct |
20 |
Correct |
5 ms |
4948 KB |
Output is correct |
21 |
Correct |
7 ms |
4924 KB |
Output is correct |
22 |
Correct |
5 ms |
4948 KB |
Output is correct |
23 |
Correct |
5 ms |
4992 KB |
Output is correct |
24 |
Correct |
4 ms |
4712 KB |
Output is correct |
25 |
Correct |
19 ms |
14660 KB |
Output is correct |
26 |
Correct |
19 ms |
14676 KB |
Output is correct |
27 |
Correct |
18 ms |
14820 KB |
Output is correct |
28 |
Correct |
21 ms |
14140 KB |
Output is correct |
29 |
Correct |
26 ms |
14080 KB |
Output is correct |
30 |
Correct |
27 ms |
14164 KB |
Output is correct |
31 |
Correct |
24 ms |
14220 KB |
Output is correct |
32 |
Correct |
23 ms |
14140 KB |
Output is correct |
33 |
Correct |
1 ms |
468 KB |
Output is correct |
34 |
Correct |
1 ms |
468 KB |
Output is correct |
35 |
Correct |
2 ms |
2004 KB |
Output is correct |
36 |
Correct |
1 ms |
2004 KB |
Output is correct |
37 |
Correct |
1 ms |
724 KB |
Output is correct |
38 |
Correct |
202 ms |
80764 KB |
Output is correct |
39 |
Correct |
205 ms |
80664 KB |
Output is correct |
40 |
Correct |
220 ms |
82116 KB |
Output is correct |
41 |
Correct |
220 ms |
82136 KB |
Output is correct |
42 |
Correct |
240 ms |
88328 KB |
Output is correct |
43 |
Correct |
243 ms |
88340 KB |
Output is correct |
44 |
Correct |
240 ms |
88268 KB |
Output is correct |
45 |
Correct |
221 ms |
82600 KB |
Output is correct |
46 |
Correct |
265 ms |
84432 KB |
Output is correct |
47 |
Correct |
278 ms |
83116 KB |
Output is correct |
48 |
Correct |
311 ms |
81012 KB |
Output is correct |
49 |
Correct |
309 ms |
80948 KB |
Output is correct |
50 |
Correct |
163 ms |
57964 KB |
Output is correct |
51 |
Correct |
158 ms |
41220 KB |
Output is correct |
52 |
Correct |
304 ms |
81592 KB |
Output is correct |
53 |
Correct |
310 ms |
81684 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
15 ms |
1088 KB |
Output is correct |
2 |
Correct |
16 ms |
980 KB |
Output is correct |
3 |
Correct |
15 ms |
1168 KB |
Output is correct |
4 |
Correct |
1 ms |
596 KB |
Output is correct |
5 |
Correct |
16 ms |
1156 KB |
Output is correct |
6 |
Correct |
15 ms |
1108 KB |
Output is correct |
7 |
Correct |
16 ms |
1224 KB |
Output is correct |
8 |
Correct |
16 ms |
1208 KB |
Output is correct |
9 |
Correct |
15 ms |
1108 KB |
Output is correct |
10 |
Correct |
14 ms |
724 KB |
Output is correct |
11 |
Correct |
14 ms |
852 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
468 KB |
Output is correct |
2 |
Correct |
1 ms |
468 KB |
Output is correct |
3 |
Correct |
2 ms |
2004 KB |
Output is correct |
4 |
Correct |
1 ms |
2004 KB |
Output is correct |
5 |
Correct |
1 ms |
724 KB |
Output is correct |
6 |
Correct |
1 ms |
980 KB |
Output is correct |
7 |
Correct |
1516 ms |
302976 KB |
Output is correct |
8 |
Correct |
3341 ms |
634236 KB |
Output is correct |
9 |
Correct |
3635 ms |
637228 KB |
Output is correct |
10 |
Correct |
3557 ms |
637280 KB |
Output is correct |
11 |
Correct |
1511 ms |
339104 KB |
Output is correct |
12 |
Correct |
2743 ms |
661600 KB |
Output is correct |
13 |
Correct |
3043 ms |
685872 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
724 KB |
Output is correct |
2 |
Correct |
2 ms |
2004 KB |
Output is correct |
3 |
Correct |
1 ms |
2004 KB |
Output is correct |
4 |
Correct |
2 ms |
2004 KB |
Output is correct |
5 |
Correct |
1 ms |
2004 KB |
Output is correct |
6 |
Correct |
2 ms |
2004 KB |
Output is correct |
7 |
Correct |
1 ms |
2004 KB |
Output is correct |
8 |
Correct |
1 ms |
1108 KB |
Output is correct |
9 |
Correct |
2 ms |
2004 KB |
Output is correct |
10 |
Correct |
2 ms |
1972 KB |
Output is correct |
11 |
Correct |
2 ms |
2004 KB |
Output is correct |
12 |
Correct |
2 ms |
2004 KB |
Output is correct |
13 |
Correct |
1 ms |
468 KB |
Output is correct |
14 |
Correct |
1 ms |
696 KB |
Output is correct |
15 |
Correct |
1 ms |
940 KB |
Output is correct |
16 |
Correct |
1 ms |
596 KB |
Output is correct |
17 |
Correct |
5 ms |
5076 KB |
Output is correct |
18 |
Correct |
5 ms |
5076 KB |
Output is correct |
19 |
Correct |
5 ms |
4984 KB |
Output is correct |
20 |
Correct |
5 ms |
4948 KB |
Output is correct |
21 |
Correct |
7 ms |
4924 KB |
Output is correct |
22 |
Correct |
5 ms |
4948 KB |
Output is correct |
23 |
Correct |
5 ms |
4992 KB |
Output is correct |
24 |
Correct |
4 ms |
4712 KB |
Output is correct |
25 |
Correct |
19 ms |
14660 KB |
Output is correct |
26 |
Correct |
19 ms |
14676 KB |
Output is correct |
27 |
Correct |
18 ms |
14820 KB |
Output is correct |
28 |
Correct |
21 ms |
14140 KB |
Output is correct |
29 |
Correct |
26 ms |
14080 KB |
Output is correct |
30 |
Correct |
27 ms |
14164 KB |
Output is correct |
31 |
Correct |
24 ms |
14220 KB |
Output is correct |
32 |
Correct |
23 ms |
14140 KB |
Output is correct |
33 |
Correct |
202 ms |
80764 KB |
Output is correct |
34 |
Correct |
205 ms |
80664 KB |
Output is correct |
35 |
Correct |
220 ms |
82116 KB |
Output is correct |
36 |
Correct |
220 ms |
82136 KB |
Output is correct |
37 |
Correct |
240 ms |
88328 KB |
Output is correct |
38 |
Correct |
243 ms |
88340 KB |
Output is correct |
39 |
Correct |
240 ms |
88268 KB |
Output is correct |
40 |
Correct |
221 ms |
82600 KB |
Output is correct |
41 |
Correct |
265 ms |
84432 KB |
Output is correct |
42 |
Correct |
278 ms |
83116 KB |
Output is correct |
43 |
Correct |
311 ms |
81012 KB |
Output is correct |
44 |
Correct |
309 ms |
80948 KB |
Output is correct |
45 |
Correct |
163 ms |
57964 KB |
Output is correct |
46 |
Correct |
158 ms |
41220 KB |
Output is correct |
47 |
Correct |
304 ms |
81592 KB |
Output is correct |
48 |
Correct |
310 ms |
81684 KB |
Output is correct |
49 |
Correct |
15 ms |
1088 KB |
Output is correct |
50 |
Correct |
16 ms |
980 KB |
Output is correct |
51 |
Correct |
15 ms |
1168 KB |
Output is correct |
52 |
Correct |
1 ms |
596 KB |
Output is correct |
53 |
Correct |
16 ms |
1156 KB |
Output is correct |
54 |
Correct |
15 ms |
1108 KB |
Output is correct |
55 |
Correct |
16 ms |
1224 KB |
Output is correct |
56 |
Correct |
16 ms |
1208 KB |
Output is correct |
57 |
Correct |
15 ms |
1108 KB |
Output is correct |
58 |
Correct |
14 ms |
724 KB |
Output is correct |
59 |
Correct |
14 ms |
852 KB |
Output is correct |
60 |
Correct |
1 ms |
980 KB |
Output is correct |
61 |
Correct |
1516 ms |
302976 KB |
Output is correct |
62 |
Correct |
3341 ms |
634236 KB |
Output is correct |
63 |
Correct |
3635 ms |
637228 KB |
Output is correct |
64 |
Correct |
3557 ms |
637280 KB |
Output is correct |
65 |
Correct |
1511 ms |
339104 KB |
Output is correct |
66 |
Correct |
2743 ms |
661600 KB |
Output is correct |
67 |
Correct |
3043 ms |
685872 KB |
Output is correct |
68 |
Correct |
1 ms |
468 KB |
Output is correct |
69 |
Correct |
1 ms |
468 KB |
Output is correct |
70 |
Correct |
2 ms |
2004 KB |
Output is correct |
71 |
Correct |
1 ms |
2004 KB |
Output is correct |
72 |
Correct |
1 ms |
724 KB |
Output is correct |
73 |
Correct |
2893 ms |
583884 KB |
Output is correct |
74 |
Correct |
3022 ms |
584524 KB |
Output is correct |
75 |
Correct |
3129 ms |
601060 KB |
Output is correct |
76 |
Correct |
3116 ms |
602336 KB |
Output is correct |
77 |
Correct |
3385 ms |
686396 KB |
Output is correct |
78 |
Correct |
2804 ms |
355548 KB |
Output is correct |
79 |
Correct |
2882 ms |
481516 KB |
Output is correct |
80 |
Correct |
4333 ms |
591216 KB |
Output is correct |
81 |
Correct |
2712 ms |
354804 KB |
Output is correct |
82 |
Correct |
3602 ms |
531644 KB |
Output is correct |
83 |
Correct |
4613 ms |
591196 KB |
Output is correct |
84 |
Correct |
2612 ms |
380676 KB |
Output is correct |
85 |
Correct |
4177 ms |
645696 KB |
Output is correct |
86 |
Correct |
4057 ms |
628240 KB |
Output is correct |
87 |
Correct |
1905 ms |
557652 KB |
Output is correct |
88 |
Correct |
3116 ms |
732908 KB |
Output is correct |
89 |
Correct |
3057 ms |
733260 KB |
Output is correct |
90 |
Correct |
3120 ms |
733456 KB |
Output is correct |