#include "rect.h"
#include <bits/stdc++.h>
using namespace std;
#define sz(v) int(v.size())
#define ar array
typedef long long ll;
const int N = 2.5e3+10;
int n, m, prv_u[N][N], prv_d[N][N], prv_l[N][N], prv_r[N][N];
vector<int> sorted[N];
vector<short> ups[N][N], rights[N][N];
short can_ups[N * N], can_rights[N * N];
int l_ups[N][N], l_rights[N][N];
int cnt_ups = 0, cnt_rights = 0;
int far[N];
long long count_rectangles(vector<vector<int>> a) {
n = sz(a), m = sz(a[0]);
memset(prv_u, -1, sizeof(prv_u));
memset(prv_d, -1, sizeof(prv_d));
memset(prv_l, -1, sizeof(prv_l));
memset(prv_r, -1, sizeof(prv_r));
for (int i = 0; i < n; i++) {
vector<int> stk;
for (int j = 0; j < m; j++) {
while (sz(stk) && a[stk.back() / m][stk.back() % m] <= a[i][j]) stk.pop_back();
if (sz(stk)) prv_l[i][j] = stk.back();
stk.push_back(i * m + j);
}
}
for (int i = 0; i < n; i++) {
vector<int> stk;
for (int j = m-1; j >= 0; j--) {
while (sz(stk) && a[stk.back() / m][stk.back() % m] < a[i][j]) stk.pop_back();
if (sz(stk)) prv_r[i][j] = stk.back();
stk.push_back(i * m + j);
}
}
for (int j = 0; j < m; j++) {
vector<int> stk;
for (int i = 0; i < n; i++) {
while (sz(stk) && a[stk.back() / m][stk.back() % m] <= a[i][j]) stk.pop_back();
if (sz(stk)) prv_u[i][j] = stk.back();
stk.push_back(i * m + j);
}
}
for (int j = 0; j < m; j++) {
vector<int> stk;
for (int i = n-1; i >= 0; i--) {
while (sz(stk) && a[stk.back() / m][stk.back() % m] < a[i][j]) stk.pop_back();
if (sz(stk)) prv_d[i][j] = stk.back();
stk.push_back(i * m + j);
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (prv_d[i][j] == -1 || a[prv_d[i][j] / m][prv_d[i][j] % m] <= a[i][j]) continue;
if (prv_u[i][j] == -1 || a[prv_u[i][j] / m][prv_u[i][j] % m] <= a[i][j]) continue;
sorted[prv_u[i][j] / m].push_back(prv_d[i][j]);
// ups[prv_d[i][j] / m][prv_d[i][j] % m].push_back(prv_u[i][j] / m);
}
}
for (int i = 0; i < n; i++) {
for (int c : sorted[i]) {
ups[c / m][c % m].push_back(i);
}
vector<int>().swap(sorted[i]);
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (prv_l[i][j] == -1 || a[prv_l[i][j] / m][prv_l[i][j] % m] <= a[i][j]) continue;
if (prv_r[i][j] == -1 || a[prv_r[i][j] / m][prv_r[i][j] % m] <= a[i][j]) continue;
sorted[prv_r[i][j] % m].push_back(prv_l[i][j]);
// rights[prv_l[i][j] / m][prv_l[i][j] % m].push_back(prv_r[i][j] % m);
}
}
for (int i = 0; i < m; i++) {
for (int c : sorted[i]) {
rights[c / m][c % m].push_back(i);
}
vector<int>().swap(sorted[i]);
}
for (int i = 0; i < n; i++) {
memset(far, -1, sizeof(far));
for (int j = m-1; j >= 0; j--) {
int k = sz(ups[i][j]);
l_ups[i][j] = cnt_ups;
// can_ups[i][j].resize(k);
for (int c = 0; c < k; c++) {
can_ups[cnt_ups++] = far[ups[i][j][c]] != -1 ? far[ups[i][j][c]] : j;
}
if (j < m-1) {
for (int c = 0; c < sz(ups[i][j+1]); c++)
far[ups[i][j+1][c]] = -1;
}
for (int c = 0; c < k; c++)
far[ups[i][j][c]] = can_ups[l_ups[i][j] + c];
}
}
for (int j = 0; j < m; j++) {
memset(far, -1, sizeof(far));
for (int i = 0; i < n; i++) {
int k = sz(rights[i][j]);
// can_rights[i][j].resize(k);
l_rights[i][j] = cnt_rights;
for (int c = 0; c < k; c++) {
can_rights[cnt_rights++] = far[rights[i][j][c]] != -1 ? far[rights[i][j][c]] : i;
}
if (i > 0) {
for (int c = 0; c < sz(rights[i-1][j]); c++)
far[rights[i-1][j][c]] = -1;
}
for (int c = 0; c < k; c++)
far[rights[i][j][c]] = can_rights[l_rights[i][j] + c];
}
}
// for (int i = 0; i < n; i++) {
// for (int j = 0; j < m; j++) {
// if (sz(ups[i][j])) {
// cerr << "ups: " << i << ' ' << j << endl;
// for (int c : ups[i][j]) cerr << c << ' ';
// cerr << endl;
// }
// }
// }
// for (int i = 0; i < n; i++) {
// for (int j = 0; j < m; j++) {
// if (sz(rights[i][j])) {
// cerr << "rights: " << i << ' ' << j << endl;
// for (int c : rights[i][j]) cerr << c << ' ';
// cerr << endl;
// }
// }
// }
ll ans = 0;
for (int i = 1; i < n; i++) {
for (int j = 0; j < m-1; j++) {
int k1 = sz(ups[i][j+1]);
int k2 = sz(rights[i-1][j]);
for (int a = 0; a < k1; a++) {
for (int b = 0; b < k2; b++) {
// if (i == 2 && j == 2 && ups[i][j+1][a] == 0 && rights[i-1][j][b] == 4) {
// cerr << "HERE: " << can_rights[i-1][j][b] << ' ' << can_ups[i][j+1][a] << endl;
// }
// if (rights[i-1][j][b] > can_ups[i][j+1][a] + 1) break;
if (rights[i-1][j][b] > can_ups[l_ups[i][j+1] + a] + 1) break;
if (ups[i][j+1][a] >= can_rights[l_rights[i-1][j] + b] - 1) {
// if (ups[i][j+1][a] >= can_rights[i-1][j][b] - 1) {
// cout << ups[i][j+1][a] << ' ' << i << ' ' << j << ' ' << rights[i-1][j][b] << endl;
ans++;
}
}
}
}
}
return ans;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
162 ms |
394912 KB |
Output is correct |
2 |
Correct |
150 ms |
395128 KB |
Output is correct |
3 |
Correct |
152 ms |
395128 KB |
Output is correct |
4 |
Correct |
153 ms |
395140 KB |
Output is correct |
5 |
Correct |
169 ms |
395132 KB |
Output is correct |
6 |
Correct |
155 ms |
395104 KB |
Output is correct |
7 |
Correct |
149 ms |
395060 KB |
Output is correct |
8 |
Correct |
152 ms |
394944 KB |
Output is correct |
9 |
Correct |
152 ms |
395172 KB |
Output is correct |
10 |
Correct |
162 ms |
395144 KB |
Output is correct |
11 |
Correct |
155 ms |
395160 KB |
Output is correct |
12 |
Correct |
152 ms |
395184 KB |
Output is correct |
13 |
Correct |
150 ms |
394868 KB |
Output is correct |
14 |
Correct |
153 ms |
394928 KB |
Output is correct |
15 |
Correct |
152 ms |
394952 KB |
Output is correct |
16 |
Correct |
158 ms |
394812 KB |
Output is correct |
17 |
Correct |
159 ms |
394884 KB |
Output is correct |
18 |
Correct |
155 ms |
394832 KB |
Output is correct |
19 |
Correct |
158 ms |
395160 KB |
Output is correct |
20 |
Correct |
148 ms |
395128 KB |
Output is correct |
21 |
Correct |
149 ms |
394932 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
162 ms |
394912 KB |
Output is correct |
2 |
Correct |
150 ms |
395128 KB |
Output is correct |
3 |
Correct |
152 ms |
395128 KB |
Output is correct |
4 |
Correct |
153 ms |
395140 KB |
Output is correct |
5 |
Correct |
169 ms |
395132 KB |
Output is correct |
6 |
Correct |
155 ms |
395104 KB |
Output is correct |
7 |
Correct |
149 ms |
395060 KB |
Output is correct |
8 |
Correct |
152 ms |
394944 KB |
Output is correct |
9 |
Correct |
152 ms |
395172 KB |
Output is correct |
10 |
Correct |
162 ms |
395144 KB |
Output is correct |
11 |
Correct |
155 ms |
395160 KB |
Output is correct |
12 |
Correct |
152 ms |
395184 KB |
Output is correct |
13 |
Correct |
150 ms |
394868 KB |
Output is correct |
14 |
Correct |
153 ms |
394928 KB |
Output is correct |
15 |
Correct |
152 ms |
394952 KB |
Output is correct |
16 |
Correct |
158 ms |
394812 KB |
Output is correct |
17 |
Correct |
159 ms |
394884 KB |
Output is correct |
18 |
Correct |
155 ms |
394832 KB |
Output is correct |
19 |
Correct |
158 ms |
395160 KB |
Output is correct |
20 |
Correct |
148 ms |
395128 KB |
Output is correct |
21 |
Correct |
149 ms |
394932 KB |
Output is correct |
22 |
Correct |
160 ms |
395900 KB |
Output is correct |
23 |
Correct |
152 ms |
395888 KB |
Output is correct |
24 |
Correct |
196 ms |
395864 KB |
Output is correct |
25 |
Correct |
152 ms |
395684 KB |
Output is correct |
26 |
Correct |
152 ms |
395820 KB |
Output is correct |
27 |
Correct |
158 ms |
395984 KB |
Output is correct |
28 |
Correct |
154 ms |
395876 KB |
Output is correct |
29 |
Correct |
150 ms |
395612 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
162 ms |
394912 KB |
Output is correct |
2 |
Correct |
150 ms |
395128 KB |
Output is correct |
3 |
Correct |
152 ms |
395128 KB |
Output is correct |
4 |
Correct |
153 ms |
395140 KB |
Output is correct |
5 |
Correct |
169 ms |
395132 KB |
Output is correct |
6 |
Correct |
155 ms |
395104 KB |
Output is correct |
7 |
Correct |
149 ms |
395060 KB |
Output is correct |
8 |
Correct |
152 ms |
394944 KB |
Output is correct |
9 |
Correct |
152 ms |
395172 KB |
Output is correct |
10 |
Correct |
162 ms |
395144 KB |
Output is correct |
11 |
Correct |
155 ms |
395160 KB |
Output is correct |
12 |
Correct |
152 ms |
395184 KB |
Output is correct |
13 |
Correct |
150 ms |
394868 KB |
Output is correct |
14 |
Correct |
153 ms |
394928 KB |
Output is correct |
15 |
Correct |
152 ms |
394952 KB |
Output is correct |
16 |
Correct |
158 ms |
394812 KB |
Output is correct |
17 |
Correct |
160 ms |
395900 KB |
Output is correct |
18 |
Correct |
152 ms |
395888 KB |
Output is correct |
19 |
Correct |
196 ms |
395864 KB |
Output is correct |
20 |
Correct |
152 ms |
395684 KB |
Output is correct |
21 |
Correct |
152 ms |
395820 KB |
Output is correct |
22 |
Correct |
158 ms |
395984 KB |
Output is correct |
23 |
Correct |
154 ms |
395876 KB |
Output is correct |
24 |
Correct |
150 ms |
395612 KB |
Output is correct |
25 |
Correct |
159 ms |
394884 KB |
Output is correct |
26 |
Correct |
155 ms |
394832 KB |
Output is correct |
27 |
Correct |
158 ms |
395160 KB |
Output is correct |
28 |
Correct |
148 ms |
395128 KB |
Output is correct |
29 |
Correct |
149 ms |
394932 KB |
Output is correct |
30 |
Correct |
183 ms |
398596 KB |
Output is correct |
31 |
Correct |
162 ms |
398672 KB |
Output is correct |
32 |
Correct |
156 ms |
398656 KB |
Output is correct |
33 |
Correct |
158 ms |
398040 KB |
Output is correct |
34 |
Correct |
162 ms |
398476 KB |
Output is correct |
35 |
Correct |
163 ms |
398468 KB |
Output is correct |
36 |
Correct |
160 ms |
398412 KB |
Output is correct |
37 |
Correct |
160 ms |
398288 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
162 ms |
394912 KB |
Output is correct |
2 |
Correct |
150 ms |
395128 KB |
Output is correct |
3 |
Correct |
152 ms |
395128 KB |
Output is correct |
4 |
Correct |
153 ms |
395140 KB |
Output is correct |
5 |
Correct |
169 ms |
395132 KB |
Output is correct |
6 |
Correct |
155 ms |
395104 KB |
Output is correct |
7 |
Correct |
149 ms |
395060 KB |
Output is correct |
8 |
Correct |
152 ms |
394944 KB |
Output is correct |
9 |
Correct |
152 ms |
395172 KB |
Output is correct |
10 |
Correct |
162 ms |
395144 KB |
Output is correct |
11 |
Correct |
155 ms |
395160 KB |
Output is correct |
12 |
Correct |
152 ms |
395184 KB |
Output is correct |
13 |
Correct |
150 ms |
394868 KB |
Output is correct |
14 |
Correct |
153 ms |
394928 KB |
Output is correct |
15 |
Correct |
152 ms |
394952 KB |
Output is correct |
16 |
Correct |
158 ms |
394812 KB |
Output is correct |
17 |
Correct |
160 ms |
395900 KB |
Output is correct |
18 |
Correct |
152 ms |
395888 KB |
Output is correct |
19 |
Correct |
196 ms |
395864 KB |
Output is correct |
20 |
Correct |
152 ms |
395684 KB |
Output is correct |
21 |
Correct |
152 ms |
395820 KB |
Output is correct |
22 |
Correct |
158 ms |
395984 KB |
Output is correct |
23 |
Correct |
154 ms |
395876 KB |
Output is correct |
24 |
Correct |
150 ms |
395612 KB |
Output is correct |
25 |
Correct |
183 ms |
398596 KB |
Output is correct |
26 |
Correct |
162 ms |
398672 KB |
Output is correct |
27 |
Correct |
156 ms |
398656 KB |
Output is correct |
28 |
Correct |
158 ms |
398040 KB |
Output is correct |
29 |
Correct |
162 ms |
398476 KB |
Output is correct |
30 |
Correct |
163 ms |
398468 KB |
Output is correct |
31 |
Correct |
160 ms |
398412 KB |
Output is correct |
32 |
Correct |
160 ms |
398288 KB |
Output is correct |
33 |
Correct |
159 ms |
394884 KB |
Output is correct |
34 |
Correct |
155 ms |
394832 KB |
Output is correct |
35 |
Correct |
158 ms |
395160 KB |
Output is correct |
36 |
Correct |
148 ms |
395128 KB |
Output is correct |
37 |
Correct |
149 ms |
394932 KB |
Output is correct |
38 |
Correct |
217 ms |
417632 KB |
Output is correct |
39 |
Correct |
206 ms |
411348 KB |
Output is correct |
40 |
Correct |
246 ms |
424396 KB |
Output is correct |
41 |
Correct |
219 ms |
418228 KB |
Output is correct |
42 |
Correct |
280 ms |
426760 KB |
Output is correct |
43 |
Correct |
248 ms |
426780 KB |
Output is correct |
44 |
Correct |
254 ms |
426896 KB |
Output is correct |
45 |
Correct |
240 ms |
424800 KB |
Output is correct |
46 |
Correct |
253 ms |
416356 KB |
Output is correct |
47 |
Correct |
249 ms |
419256 KB |
Output is correct |
48 |
Correct |
296 ms |
425292 KB |
Output is correct |
49 |
Correct |
322 ms |
425476 KB |
Output is correct |
50 |
Correct |
229 ms |
412908 KB |
Output is correct |
51 |
Correct |
223 ms |
410144 KB |
Output is correct |
52 |
Correct |
289 ms |
423980 KB |
Output is correct |
53 |
Correct |
298 ms |
424032 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
148 ms |
395340 KB |
Output is correct |
2 |
Correct |
150 ms |
395304 KB |
Output is correct |
3 |
Correct |
159 ms |
394956 KB |
Output is correct |
4 |
Correct |
149 ms |
394912 KB |
Output is correct |
5 |
Correct |
152 ms |
395168 KB |
Output is correct |
6 |
Correct |
151 ms |
395124 KB |
Output is correct |
7 |
Correct |
173 ms |
395108 KB |
Output is correct |
8 |
Correct |
151 ms |
395092 KB |
Output is correct |
9 |
Correct |
151 ms |
395164 KB |
Output is correct |
10 |
Correct |
151 ms |
394884 KB |
Output is correct |
11 |
Correct |
151 ms |
394968 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
159 ms |
394884 KB |
Output is correct |
2 |
Correct |
155 ms |
394832 KB |
Output is correct |
3 |
Correct |
158 ms |
395160 KB |
Output is correct |
4 |
Correct |
148 ms |
395128 KB |
Output is correct |
5 |
Correct |
149 ms |
394932 KB |
Output is correct |
6 |
Correct |
175 ms |
394900 KB |
Output is correct |
7 |
Correct |
674 ms |
489200 KB |
Output is correct |
8 |
Correct |
1349 ms |
595984 KB |
Output is correct |
9 |
Correct |
1465 ms |
596948 KB |
Output is correct |
10 |
Correct |
1524 ms |
596952 KB |
Output is correct |
11 |
Correct |
407 ms |
443292 KB |
Output is correct |
12 |
Correct |
687 ms |
490096 KB |
Output is correct |
13 |
Correct |
707 ms |
493040 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
162 ms |
394912 KB |
Output is correct |
2 |
Correct |
150 ms |
395128 KB |
Output is correct |
3 |
Correct |
152 ms |
395128 KB |
Output is correct |
4 |
Correct |
153 ms |
395140 KB |
Output is correct |
5 |
Correct |
169 ms |
395132 KB |
Output is correct |
6 |
Correct |
155 ms |
395104 KB |
Output is correct |
7 |
Correct |
149 ms |
395060 KB |
Output is correct |
8 |
Correct |
152 ms |
394944 KB |
Output is correct |
9 |
Correct |
152 ms |
395172 KB |
Output is correct |
10 |
Correct |
162 ms |
395144 KB |
Output is correct |
11 |
Correct |
155 ms |
395160 KB |
Output is correct |
12 |
Correct |
152 ms |
395184 KB |
Output is correct |
13 |
Correct |
150 ms |
394868 KB |
Output is correct |
14 |
Correct |
153 ms |
394928 KB |
Output is correct |
15 |
Correct |
152 ms |
394952 KB |
Output is correct |
16 |
Correct |
158 ms |
394812 KB |
Output is correct |
17 |
Correct |
160 ms |
395900 KB |
Output is correct |
18 |
Correct |
152 ms |
395888 KB |
Output is correct |
19 |
Correct |
196 ms |
395864 KB |
Output is correct |
20 |
Correct |
152 ms |
395684 KB |
Output is correct |
21 |
Correct |
152 ms |
395820 KB |
Output is correct |
22 |
Correct |
158 ms |
395984 KB |
Output is correct |
23 |
Correct |
154 ms |
395876 KB |
Output is correct |
24 |
Correct |
150 ms |
395612 KB |
Output is correct |
25 |
Correct |
183 ms |
398596 KB |
Output is correct |
26 |
Correct |
162 ms |
398672 KB |
Output is correct |
27 |
Correct |
156 ms |
398656 KB |
Output is correct |
28 |
Correct |
158 ms |
398040 KB |
Output is correct |
29 |
Correct |
162 ms |
398476 KB |
Output is correct |
30 |
Correct |
163 ms |
398468 KB |
Output is correct |
31 |
Correct |
160 ms |
398412 KB |
Output is correct |
32 |
Correct |
160 ms |
398288 KB |
Output is correct |
33 |
Correct |
217 ms |
417632 KB |
Output is correct |
34 |
Correct |
206 ms |
411348 KB |
Output is correct |
35 |
Correct |
246 ms |
424396 KB |
Output is correct |
36 |
Correct |
219 ms |
418228 KB |
Output is correct |
37 |
Correct |
280 ms |
426760 KB |
Output is correct |
38 |
Correct |
248 ms |
426780 KB |
Output is correct |
39 |
Correct |
254 ms |
426896 KB |
Output is correct |
40 |
Correct |
240 ms |
424800 KB |
Output is correct |
41 |
Correct |
253 ms |
416356 KB |
Output is correct |
42 |
Correct |
249 ms |
419256 KB |
Output is correct |
43 |
Correct |
296 ms |
425292 KB |
Output is correct |
44 |
Correct |
322 ms |
425476 KB |
Output is correct |
45 |
Correct |
229 ms |
412908 KB |
Output is correct |
46 |
Correct |
223 ms |
410144 KB |
Output is correct |
47 |
Correct |
289 ms |
423980 KB |
Output is correct |
48 |
Correct |
298 ms |
424032 KB |
Output is correct |
49 |
Correct |
148 ms |
395340 KB |
Output is correct |
50 |
Correct |
150 ms |
395304 KB |
Output is correct |
51 |
Correct |
159 ms |
394956 KB |
Output is correct |
52 |
Correct |
149 ms |
394912 KB |
Output is correct |
53 |
Correct |
152 ms |
395168 KB |
Output is correct |
54 |
Correct |
151 ms |
395124 KB |
Output is correct |
55 |
Correct |
173 ms |
395108 KB |
Output is correct |
56 |
Correct |
151 ms |
395092 KB |
Output is correct |
57 |
Correct |
151 ms |
395164 KB |
Output is correct |
58 |
Correct |
151 ms |
394884 KB |
Output is correct |
59 |
Correct |
151 ms |
394968 KB |
Output is correct |
60 |
Correct |
175 ms |
394900 KB |
Output is correct |
61 |
Correct |
674 ms |
489200 KB |
Output is correct |
62 |
Correct |
1349 ms |
595984 KB |
Output is correct |
63 |
Correct |
1465 ms |
596948 KB |
Output is correct |
64 |
Correct |
1524 ms |
596952 KB |
Output is correct |
65 |
Correct |
407 ms |
443292 KB |
Output is correct |
66 |
Correct |
687 ms |
490096 KB |
Output is correct |
67 |
Correct |
707 ms |
493040 KB |
Output is correct |
68 |
Correct |
159 ms |
394884 KB |
Output is correct |
69 |
Correct |
155 ms |
394832 KB |
Output is correct |
70 |
Correct |
158 ms |
395160 KB |
Output is correct |
71 |
Correct |
148 ms |
395128 KB |
Output is correct |
72 |
Correct |
149 ms |
394932 KB |
Output is correct |
73 |
Correct |
1225 ms |
612188 KB |
Output is correct |
74 |
Correct |
1081 ms |
525496 KB |
Output is correct |
75 |
Correct |
1507 ms |
747644 KB |
Output is correct |
76 |
Correct |
1203 ms |
667740 KB |
Output is correct |
77 |
Correct |
1548 ms |
781156 KB |
Output is correct |
78 |
Correct |
1446 ms |
599092 KB |
Output is correct |
79 |
Correct |
1531 ms |
636228 KB |
Output is correct |
80 |
Correct |
2321 ms |
735076 KB |
Output is correct |
81 |
Correct |
1499 ms |
614676 KB |
Output is correct |
82 |
Correct |
2104 ms |
697792 KB |
Output is correct |
83 |
Correct |
2559 ms |
760836 KB |
Output is correct |
84 |
Correct |
1501 ms |
597168 KB |
Output is correct |
85 |
Correct |
2411 ms |
745788 KB |
Output is correct |
86 |
Correct |
2255 ms |
735656 KB |
Output is correct |
87 |
Correct |
1004 ms |
646296 KB |
Output is correct |
88 |
Correct |
1584 ms |
779216 KB |
Output is correct |
89 |
Correct |
1617 ms |
778632 KB |
Output is correct |
90 |
Correct |
1609 ms |
778672 KB |
Output is correct |