Submission #22547101
Source Code Expand
import sys
sys.setrecursionlimit(2 ** 20)
input = sys.stdin.readline
def main():
n = int(input()) * 2
a = list(map(int, input().split()))
delta = [[abs(i - j) for j in a] for i in a]
memo = [[-1 if i != j else 0 for j in range(n + 1)] for i in range(n + 1)]
def solve(l, r):
if memo[l][r] != -1:
return memo[l][r]
memo[l][r] = min(solve(l + 1, j) + solve(j + 1, r)
+ delta[l][j] for j in range(l + 1, r, 2))
return memo[l][r]
print(solve(0, n))
if __name__ == "__main__":
main()
Submission Info
| Submission Time | |
|---|---|
| Task | 019 - Pick Two(★6) |
| User | riantkb |
| Language | Python (3.8.2) |
| Score | 6 |
| Code Size | 576 Byte |
| Status | AC |
| Exec Time | 1430 ms |
| Memory | 17832 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 6 / 6 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_0.txt, 00_sample_1.txt, 00_sample_2.txt, 00_sample_3.txt |
| All | 00_sample_0.txt, 00_sample_1.txt, 00_sample_2.txt, 00_sample_3.txt, 01_cornar_0.txt, 01_cornar_1.txt, 01_cornar_2.txt, 02_random_0.txt, 02_random_1.txt, 02_random_2.txt, 02_random_3.txt, 03_maxima_0.txt, 03_maxima_1.txt, 03_maxima_2.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_0.txt | AC | 26 ms | 9048 KiB |
| 00_sample_1.txt | AC | 18 ms | 9000 KiB |
| 00_sample_2.txt | AC | 22 ms | 9120 KiB |
| 00_sample_3.txt | AC | 19 ms | 9124 KiB |
| 01_cornar_0.txt | AC | 20 ms | 9124 KiB |
| 01_cornar_1.txt | AC | 20 ms | 9052 KiB |
| 01_cornar_2.txt | AC | 202 ms | 11144 KiB |
| 02_random_0.txt | AC | 256 ms | 11676 KiB |
| 02_random_1.txt | AC | 71 ms | 9772 KiB |
| 02_random_2.txt | AC | 91 ms | 10088 KiB |
| 02_random_3.txt | AC | 1219 ms | 17100 KiB |
| 03_maxima_0.txt | AC | 1423 ms | 17740 KiB |
| 03_maxima_1.txt | AC | 1408 ms | 15184 KiB |
| 03_maxima_2.txt | AC | 1430 ms | 17832 KiB |