# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
211920 |
2020-03-21T18:02:16 Z |
WLZ |
Building 4 (JOI20_building4) |
C++14 |
|
469 ms |
121776 KB |
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
const int INF = 0x3f3f3f3f;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin >> n;
vector< vector<int> > a(2, vector<int>(2 * n + 1));
for (int i = 0; i < 2; i++) {
for (int j = 1; j <= 2 * n; j++) {
cin >> a[i][j];
}
}
vector< vector<int> > dp_r(2 * n + 1, vector<int>(2, -1));
vector< vector<int> > dp_l(2 * n + 1, vector<int>(2, INF));
dp_r[0][0] = dp_r[0][1] = dp_l[0][0] = dp_l[0][1] = 0;
for (int i = 0; i < 2 * n; i++) {
for (int j = 0; j < 2; j++) {
if (dp_r[i][j] == -1) {
continue;
}
if (a[j][i] <= a[0][i + 1]) {
dp_r[i + 1][0] = max(dp_r[i + 1][0], dp_r[i][j] + 1);
dp_l[i + 1][0] = min(dp_l[i + 1][0], dp_l[i][j] + 1);
}
if (a[j][i] <= a[1][i + 1]) {
dp_r[i + 1][1] = max(dp_r[i + 1][1], dp_r[i][j]);
dp_l[i + 1][1] = min(dp_l[i + 1][1], dp_l[i][j]);
}
}
}
int cur;
if (dp_r[2 * n][0] >= n && dp_l[2 * n][0] <= n) {
cur = 0;
} else if (dp_r[2 * n][1] >= n && dp_l[2 * n][1] <= n) {
cur = 1;
} else {
cout << -1 << '\n';
return 0;
}
string ans = "";
for (int i = 2 * n, cnt = n; i >= 1; i--) {
if (cur == 0) {
ans += 'A';
cnt--;
} else {
ans += 'B';
}
if (a[0][i - 1] <= a[cur][i] && dp_r[i - 1][0] >= cnt && dp_l[i - 1][0] <= cnt) {
cur = 0;
} else {
cur = 1;
}
}
reverse(ans.begin(), ans.end());
cout << ans << '\n';
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
384 KB |
Output is correct |
2 |
Correct |
5 ms |
384 KB |
Output is correct |
3 |
Correct |
5 ms |
384 KB |
Output is correct |
4 |
Correct |
5 ms |
384 KB |
Output is correct |
5 |
Correct |
6 ms |
768 KB |
Output is correct |
6 |
Correct |
6 ms |
768 KB |
Output is correct |
7 |
Correct |
6 ms |
768 KB |
Output is correct |
8 |
Correct |
6 ms |
768 KB |
Output is correct |
9 |
Correct |
6 ms |
768 KB |
Output is correct |
10 |
Correct |
6 ms |
768 KB |
Output is correct |
11 |
Correct |
6 ms |
768 KB |
Output is correct |
12 |
Correct |
6 ms |
768 KB |
Output is correct |
13 |
Correct |
6 ms |
768 KB |
Output is correct |
14 |
Correct |
6 ms |
896 KB |
Output is correct |
15 |
Correct |
6 ms |
768 KB |
Output is correct |
16 |
Correct |
6 ms |
768 KB |
Output is correct |
17 |
Correct |
6 ms |
768 KB |
Output is correct |
18 |
Correct |
6 ms |
768 KB |
Output is correct |
19 |
Correct |
6 ms |
896 KB |
Output is correct |
20 |
Correct |
6 ms |
768 KB |
Output is correct |
21 |
Correct |
6 ms |
768 KB |
Output is correct |
22 |
Correct |
6 ms |
896 KB |
Output is correct |
23 |
Correct |
6 ms |
896 KB |
Output is correct |
24 |
Correct |
6 ms |
768 KB |
Output is correct |
25 |
Correct |
6 ms |
896 KB |
Output is correct |
26 |
Correct |
6 ms |
768 KB |
Output is correct |
27 |
Correct |
6 ms |
768 KB |
Output is correct |
28 |
Correct |
6 ms |
768 KB |
Output is correct |
29 |
Correct |
6 ms |
896 KB |
Output is correct |
30 |
Correct |
6 ms |
768 KB |
Output is correct |
31 |
Correct |
6 ms |
768 KB |
Output is correct |
32 |
Correct |
7 ms |
768 KB |
Output is correct |
33 |
Correct |
6 ms |
896 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
384 KB |
Output is correct |
2 |
Correct |
5 ms |
384 KB |
Output is correct |
3 |
Correct |
5 ms |
384 KB |
Output is correct |
4 |
Correct |
5 ms |
384 KB |
Output is correct |
5 |
Correct |
6 ms |
768 KB |
Output is correct |
6 |
Correct |
6 ms |
768 KB |
Output is correct |
7 |
Correct |
6 ms |
768 KB |
Output is correct |
8 |
Correct |
6 ms |
768 KB |
Output is correct |
9 |
Correct |
6 ms |
768 KB |
Output is correct |
10 |
Correct |
6 ms |
768 KB |
Output is correct |
11 |
Correct |
6 ms |
768 KB |
Output is correct |
12 |
Correct |
6 ms |
768 KB |
Output is correct |
13 |
Correct |
6 ms |
768 KB |
Output is correct |
14 |
Correct |
6 ms |
896 KB |
Output is correct |
15 |
Correct |
6 ms |
768 KB |
Output is correct |
16 |
Correct |
6 ms |
768 KB |
Output is correct |
17 |
Correct |
6 ms |
768 KB |
Output is correct |
18 |
Correct |
6 ms |
768 KB |
Output is correct |
19 |
Correct |
6 ms |
896 KB |
Output is correct |
20 |
Correct |
6 ms |
768 KB |
Output is correct |
21 |
Correct |
6 ms |
768 KB |
Output is correct |
22 |
Correct |
6 ms |
896 KB |
Output is correct |
23 |
Correct |
6 ms |
896 KB |
Output is correct |
24 |
Correct |
6 ms |
768 KB |
Output is correct |
25 |
Correct |
6 ms |
896 KB |
Output is correct |
26 |
Correct |
6 ms |
768 KB |
Output is correct |
27 |
Correct |
6 ms |
768 KB |
Output is correct |
28 |
Correct |
6 ms |
768 KB |
Output is correct |
29 |
Correct |
6 ms |
896 KB |
Output is correct |
30 |
Correct |
6 ms |
768 KB |
Output is correct |
31 |
Correct |
6 ms |
768 KB |
Output is correct |
32 |
Correct |
7 ms |
768 KB |
Output is correct |
33 |
Correct |
6 ms |
896 KB |
Output is correct |
34 |
Correct |
412 ms |
115880 KB |
Output is correct |
35 |
Correct |
409 ms |
112200 KB |
Output is correct |
36 |
Correct |
413 ms |
110344 KB |
Output is correct |
37 |
Correct |
412 ms |
112572 KB |
Output is correct |
38 |
Correct |
421 ms |
112572 KB |
Output is correct |
39 |
Correct |
415 ms |
113196 KB |
Output is correct |
40 |
Correct |
448 ms |
121024 KB |
Output is correct |
41 |
Correct |
402 ms |
114868 KB |
Output is correct |
42 |
Correct |
428 ms |
117160 KB |
Output is correct |
43 |
Correct |
451 ms |
121644 KB |
Output is correct |
44 |
Correct |
469 ms |
121644 KB |
Output is correct |
45 |
Correct |
447 ms |
121644 KB |
Output is correct |
46 |
Correct |
452 ms |
121644 KB |
Output is correct |
47 |
Correct |
420 ms |
121696 KB |
Output is correct |
48 |
Correct |
426 ms |
121772 KB |
Output is correct |
49 |
Correct |
429 ms |
121776 KB |
Output is correct |
50 |
Correct |
453 ms |
121716 KB |
Output is correct |
51 |
Correct |
442 ms |
121644 KB |
Output is correct |
52 |
Correct |
302 ms |
121644 KB |
Output is correct |
53 |
Correct |
318 ms |
121760 KB |
Output is correct |
54 |
Correct |
289 ms |
121644 KB |
Output is correct |
55 |
Correct |
308 ms |
121772 KB |
Output is correct |
56 |
Correct |
435 ms |
121744 KB |
Output is correct |
57 |
Correct |
399 ms |
121152 KB |
Output is correct |
58 |
Correct |
401 ms |
121644 KB |
Output is correct |
59 |
Correct |
396 ms |
121772 KB |
Output is correct |
60 |
Correct |
389 ms |
113608 KB |
Output is correct |
61 |
Correct |
387 ms |
121668 KB |
Output is correct |
62 |
Correct |
399 ms |
119908 KB |
Output is correct |
63 |
Correct |
396 ms |
121644 KB |
Output is correct |
64 |
Correct |
378 ms |
116788 KB |
Output is correct |
65 |
Correct |
387 ms |
121772 KB |
Output is correct |