Submission #25515063
Source Code Expand
#include <iostream>
using namespace std;
int main() { cin.tie(0)->sync_with_stdio(0);
int n; cin >> n; n *= 2;
const int maxn = int(1e6) + 10;
static int A[maxn], B[maxn];
for (int i=1; i<=n; ++i) cin >> A[i];
for (int i=1; i<=n; ++i) cin >> B[i];
const int inf = int(1e9);
static int dp[maxn][4];
dp[0][2] = -inf; dp[0][3] = inf;
for (int i=1; i<=n; ++i) {
int v[2] = {A[i], B[i]};
for (int j=0; j<2; ++j) {
int &dmx = dp[i][2*j], &dmn = dp[i][2*j+1];
dmx = -inf;
dmn = inf;
int bv[2] = {A[i-1], B[i-1]};
for (int bj=0; bj<2; ++bj) if (bv[bj]<=v[j]) {
int bmx = dp[i-1][2*bj], bmn = dp[i-1][2*bj+1];
dmx = max(dmx, bmx + j);
dmn = min(dmn, bmn + j);
}
}
}
for (int j=0; j<2; ++j) {
int dmx = dp[n][2*j], dmn = dp[n][2*j+1];
if (dmn <= (n/2) & (n/2) <= dmx) {
static char ans[maxn];
for (int ci=n, cj=j, cd=n/2;;) {
ans[ci] = 'A'+cj;
if (ci == 1) break;
int cv[2] = {A[ci], B[ci]}, bv[2] = {A[ci-1], B[ci-1]};
for (int bj=0; bj<2; ++bj) if (bv[bj] <= cv[cj]) {
int bd = (cd - cj);
if (dp[ci-1][2*bj+1] <= bd && bd <= dp[ci-1][2*bj]) {
--ci;
cj = bj;
cd = bd;
break;
}
}
}
cout << (ans+1) << '\n';
return 0;
}
}
cout << "-1\n";
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | A - ビルの飾りつけ 4 (Building 4) |
| User | Namnamseo |
| Language | C++ (GCC 9.2.1) |
| Score | 100 |
| Code Size | 1305 Byte |
| Status | AC |
| Exec Time | 182 ms |
| Memory | 28020 KiB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:31:10: warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses]
31 | if (dmn <= (n/2) & (n/2) <= dmx) {
| ~~~~^~~~~~~~
Judge Result
| Set Name | Subtask 1 | Subtask 2 | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 11 / 11 | 89 / 89 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Subtask 1 | sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt, 01-32.txt, 01-33.txt |
| Subtask 2 | sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt, 01-32.txt, 01-33.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 02-16.txt, 02-17.txt, 02-18.txt, 02-19.txt, 02-20.txt, 02-21.txt, 02-22.txt, 02-23.txt, 02-24.txt, 02-25.txt, 02-26.txt, 02-27.txt, 02-28.txt, 02-29.txt, 02-30.txt, 02-31.txt, 02-32.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01-01.txt | AC | 8 ms | 3556 KiB |
| 01-02.txt | AC | 2 ms | 3556 KiB |
| 01-03.txt | AC | 4 ms | 3512 KiB |
| 01-04.txt | AC | 3 ms | 3608 KiB |
| 01-05.txt | AC | 5 ms | 3600 KiB |
| 01-06.txt | AC | 5 ms | 3648 KiB |
| 01-07.txt | AC | 6 ms | 3536 KiB |
| 01-08.txt | AC | 5 ms | 3544 KiB |
| 01-09.txt | AC | 5 ms | 3596 KiB |
| 01-10.txt | AC | 8 ms | 3632 KiB |
| 01-11.txt | AC | 5 ms | 3552 KiB |
| 01-12.txt | AC | 5 ms | 3648 KiB |
| 01-13.txt | AC | 4 ms | 3716 KiB |
| 01-14.txt | AC | 4 ms | 3604 KiB |
| 01-15.txt | AC | 4 ms | 3652 KiB |
| 01-16.txt | AC | 4 ms | 3736 KiB |
| 01-17.txt | AC | 6 ms | 3600 KiB |
| 01-18.txt | AC | 4 ms | 3620 KiB |
| 01-19.txt | AC | 4 ms | 3600 KiB |
| 01-20.txt | AC | 2 ms | 3712 KiB |
| 01-21.txt | AC | 4 ms | 3652 KiB |
| 01-22.txt | AC | 4 ms | 3616 KiB |
| 01-23.txt | AC | 4 ms | 3604 KiB |
| 01-24.txt | AC | 6 ms | 3620 KiB |
| 01-25.txt | AC | 4 ms | 3656 KiB |
| 01-26.txt | AC | 3 ms | 3676 KiB |
| 01-27.txt | AC | 4 ms | 3596 KiB |
| 01-28.txt | AC | 7 ms | 3588 KiB |
| 01-29.txt | AC | 3 ms | 3616 KiB |
| 01-30.txt | AC | 4 ms | 3600 KiB |
| 01-31.txt | AC | 4 ms | 3652 KiB |
| 01-32.txt | AC | 4 ms | 3580 KiB |
| 01-33.txt | AC | 4 ms | 3600 KiB |
| 02-01.txt | AC | 169 ms | 26556 KiB |
| 02-02.txt | AC | 172 ms | 26132 KiB |
| 02-03.txt | AC | 162 ms | 25820 KiB |
| 02-04.txt | AC | 172 ms | 26232 KiB |
| 02-05.txt | AC | 164 ms | 26232 KiB |
| 02-06.txt | AC | 160 ms | 26352 KiB |
| 02-07.txt | AC | 171 ms | 27904 KiB |
| 02-08.txt | AC | 158 ms | 26676 KiB |
| 02-09.txt | AC | 176 ms | 27256 KiB |
| 02-10.txt | AC | 176 ms | 27852 KiB |
| 02-11.txt | AC | 179 ms | 27952 KiB |
| 02-12.txt | AC | 177 ms | 27952 KiB |
| 02-13.txt | AC | 170 ms | 27984 KiB |
| 02-14.txt | AC | 166 ms | 27900 KiB |
| 02-15.txt | AC | 168 ms | 27984 KiB |
| 02-16.txt | AC | 168 ms | 27904 KiB |
| 02-17.txt | AC | 182 ms | 27852 KiB |
| 02-18.txt | AC | 177 ms | 27916 KiB |
| 02-19.txt | AC | 136 ms | 27988 KiB |
| 02-20.txt | AC | 133 ms | 27988 KiB |
| 02-21.txt | AC | 126 ms | 27908 KiB |
| 02-22.txt | AC | 132 ms | 28020 KiB |
| 02-23.txt | AC | 169 ms | 27920 KiB |
| 02-24.txt | AC | 151 ms | 27744 KiB |
| 02-25.txt | AC | 150 ms | 28020 KiB |
| 02-26.txt | AC | 152 ms | 27856 KiB |
| 02-27.txt | AC | 144 ms | 26452 KiB |
| 02-28.txt | AC | 152 ms | 28016 KiB |
| 02-29.txt | AC | 152 ms | 27516 KiB |
| 02-30.txt | AC | 155 ms | 27964 KiB |
| 02-31.txt | AC | 147 ms | 27084 KiB |
| 02-32.txt | AC | 158 ms | 27908 KiB |
| sample-01.txt | AC | 10 ms | 3508 KiB |
| sample-02.txt | AC | 3 ms | 3452 KiB |
| sample-03.txt | AC | 2 ms | 3552 KiB |
| sample-04.txt | AC | 1 ms | 3584 KiB |