Submission #47506592
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 23;
ll f[1 << N], s[N][N][N], a[N], b[N];
int n; ll c;
ll dp(int mask) {
if (f[mask] != -1) {
return f[mask];
}
int cnt = __builtin_popcount(mask);
int x = 1;
ll res = 1e18;
// cout << bs << endl;
for (int i = 1; i <= cnt; ++i) {
for (int j = 0; j+i <= n; ++j) {
if ((mask & (x << j)) == (x << j)) {
res = min(res, dp(mask ^ (x << j)) + s[i][cnt-i][j] + c);
}
}
x = x * 2 + 1;
}
// cout << bs << ' ' << res << endl;
return f[mask] = res;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> c;
for (int i = 0; i < n; ++i) {
cin >> a[i];
}
for (int i = 0; i < n; ++i) {
cin >> b[i];
}
for (int d = 1; d <= n; ++d) {
for (int i = 0; i+d <= n; ++i) {
for (int j = 0; j+d <= n; ++j) {
for (int k = 0; k < d; ++k) {
s[d][i][j] += abs(a[i+k] - b[j+k]);
}
}
}
}
for (int i = 0; i < (1 << n); ++i) {
f[i] = -1;
}
f[0] = 0;
cout << dp((1 << n) - 1) - c << endl;
}
Submission Info
| Submission Time | |
|---|---|
| Task | G - Cut and Reorder |
| User | pkqs90 |
| Language | C++ 20 (gcc 12.2) |
| Score | 575 |
| Code Size | 1292 Byte |
| Status | AC |
| Exec Time | 1858 ms |
| Memory | 36488 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 575 / 575 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 01_random_23.txt, 01_random_24.txt, 01_random_25.txt, 01_random_26.txt, 01_random_27.txt, 01_random_28.txt, 01_random_29.txt, 01_random_30.txt, 01_random_31.txt, 01_random_32.txt, 01_random_33.txt, 01_random_34.txt, 01_random_35.txt, 01_random_36.txt, 01_random_37.txt, 01_random_38.txt, 01_random_39.txt, 01_random_40.txt, 01_random_41.txt, 01_random_42.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 2 ms | 3444 KiB |
| 00_sample_01.txt | AC | 1 ms | 3596 KiB |
| 00_sample_02.txt | AC | 1818 ms | 36288 KiB |
| 01_random_03.txt | AC | 1827 ms | 36360 KiB |
| 01_random_04.txt | AC | 1743 ms | 36284 KiB |
| 01_random_05.txt | AC | 1684 ms | 36352 KiB |
| 01_random_06.txt | AC | 1771 ms | 36264 KiB |
| 01_random_07.txt | AC | 1830 ms | 36356 KiB |
| 01_random_08.txt | AC | 1858 ms | 36268 KiB |
| 01_random_09.txt | AC | 1741 ms | 36488 KiB |
| 01_random_10.txt | AC | 1 ms | 3384 KiB |
| 01_random_11.txt | AC | 1 ms | 3640 KiB |
| 01_random_12.txt | AC | 1 ms | 3648 KiB |
| 01_random_13.txt | AC | 11 ms | 4016 KiB |
| 01_random_14.txt | AC | 1 ms | 3504 KiB |
| 01_random_15.txt | AC | 1701 ms | 36292 KiB |
| 01_random_16.txt | AC | 1803 ms | 36488 KiB |
| 01_random_17.txt | AC | 1817 ms | 36288 KiB |
| 01_random_18.txt | AC | 1736 ms | 36300 KiB |
| 01_random_19.txt | AC | 1711 ms | 36356 KiB |
| 01_random_20.txt | AC | 1729 ms | 36360 KiB |
| 01_random_21.txt | AC | 1733 ms | 36356 KiB |
| 01_random_22.txt | AC | 1 ms | 3500 KiB |
| 01_random_23.txt | AC | 1 ms | 3392 KiB |
| 01_random_24.txt | AC | 2 ms | 3584 KiB |
| 01_random_25.txt | AC | 321 ms | 11748 KiB |
| 01_random_26.txt | AC | 1 ms | 3464 KiB |
| 01_random_27.txt | AC | 1840 ms | 36260 KiB |
| 01_random_28.txt | AC | 1845 ms | 36428 KiB |
| 01_random_29.txt | AC | 1762 ms | 36488 KiB |
| 01_random_30.txt | AC | 1715 ms | 36344 KiB |
| 01_random_31.txt | AC | 1812 ms | 36344 KiB |
| 01_random_32.txt | AC | 1846 ms | 36260 KiB |
| 01_random_33.txt | AC | 1 ms | 3412 KiB |
| 01_random_34.txt | AC | 1 ms | 3472 KiB |
| 01_random_35.txt | AC | 1 ms | 3500 KiB |
| 01_random_36.txt | AC | 1 ms | 3512 KiB |
| 01_random_37.txt | AC | 1 ms | 3380 KiB |
| 01_random_38.txt | AC | 1 ms | 3576 KiB |
| 01_random_39.txt | AC | 1 ms | 3432 KiB |
| 01_random_40.txt | AC | 1 ms | 3508 KiB |
| 01_random_41.txt | AC | 1848 ms | 36292 KiB |
| 01_random_42.txt | AC | 1723 ms | 36360 KiB |