Submission #3973822
Source Code Expand
N = int(input())
*A, = map(int, input().split())
INF = 10**18
S = [0]*(N+1)
for i in range(N):
S[i+1] = S[i] + A[i]
dp = [[0]*(N+1) for i in range(N+1)]
for k in range(2, N+1):
for i in range(N-k+1):
dp[i][k] = min(dp[i][j] + dp[i+j][k-j] for j in range(1, k)) + S[i+k] - S[i]
print(dp[0][N])
Submission Info
| Submission Time | |
|---|---|
| Task | N - Slimes |
| User | yaketake08 |
| Language | PyPy3 (2.4.0) |
| Score | 100 |
| Code Size | 322 Byte |
| Status | AC |
| Exec Time | 569 ms |
| Memory | 43612 KiB |
Judge Result
| Set Name | All | ||
|---|---|---|---|
| Score / Max Score | 100 / 100 | ||
| Status |
|
| Set Name | Test Cases |
|---|---|
| All | 0_00, 0_01, 0_02, 0_03, 1_00, 1_01, 1_02, 1_03, 1_04, 1_05, 1_06, 1_07, 1_08, 1_09, 1_10, 1_11 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 0_00 | AC | 168 ms | 38256 KiB |
| 0_01 | AC | 169 ms | 38256 KiB |
| 0_02 | AC | 167 ms | 38256 KiB |
| 0_03 | AC | 168 ms | 38256 KiB |
| 1_00 | AC | 168 ms | 38256 KiB |
| 1_01 | AC | 472 ms | 43612 KiB |
| 1_02 | AC | 509 ms | 43228 KiB |
| 1_03 | AC | 569 ms | 43228 KiB |
| 1_04 | AC | 520 ms | 43228 KiB |
| 1_05 | AC | 517 ms | 43100 KiB |
| 1_06 | AC | 488 ms | 43484 KiB |
| 1_07 | AC | 493 ms | 43100 KiB |
| 1_08 | AC | 467 ms | 43100 KiB |
| 1_09 | AC | 489 ms | 42972 KiB |
| 1_10 | AC | 494 ms | 42996 KiB |
| 1_11 | AC | 473 ms | 43100 KiB |