提出 #44967001
ソースコード 拡げる
N = int(input())
costs = []
sz = 0
for _ in range(N):
X, Y, Z = map(int, input().split())
sz += Z
costs.append((Z, max(0, (Y+X+1)//2 - X)))
z2 = (sz+1)//2
INF = 10**18
dp = [[INF]*(N+1) for _ in range(z2+1)]
dp[0][0] = 0
for k, (dx, z) in enumerate(costs):
for i in range(z2 + 1):
# 使う場合
if i + dx <= z2:
dp[i + dx][k+1] = min(dp[i + dx][k+1], dp[i][k] + z)
else:
dp[z2][k+1] = min(dp[z2][k+1], dp[i][k] + z)
dp[i][k+1] = min(dp[i][k+1], dp[i][k])
print(dp[z2][N])
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - President |
| ユーザ | chikage1205 |
| 言語 | Python (PyPy 3.10-v7.3.12) |
| 得点 | 400 |
| コード長 | 571 Byte |
| 結果 | AC |
| 実行時間 | 229 ms |
| メモリ | 128328 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 400 / 400 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_random_00.txt, 01_random_01.txt, 01_random_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, 02_max_00.txt, 03_hack_00.txt, 03_hack_01.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 56 ms | 76496 KiB |
| 00_sample_01.txt | AC | 56 ms | 76404 KiB |
| 00_sample_02.txt | AC | 56 ms | 76528 KiB |
| 00_sample_03.txt | AC | 58 ms | 76296 KiB |
| 01_random_00.txt | AC | 112 ms | 97808 KiB |
| 01_random_01.txt | AC | 68 ms | 81136 KiB |
| 01_random_02.txt | AC | 220 ms | 127164 KiB |
| 01_random_03.txt | AC | 215 ms | 123916 KiB |
| 01_random_04.txt | AC | 195 ms | 119672 KiB |
| 01_random_05.txt | AC | 128 ms | 100544 KiB |
| 01_random_06.txt | AC | 138 ms | 106216 KiB |
| 01_random_07.txt | AC | 223 ms | 127924 KiB |
| 01_random_08.txt | AC | 65 ms | 81476 KiB |
| 01_random_09.txt | AC | 91 ms | 81592 KiB |
| 01_random_10.txt | AC | 218 ms | 127716 KiB |
| 01_random_11.txt | AC | 217 ms | 127336 KiB |
| 01_random_12.txt | AC | 176 ms | 105364 KiB |
| 01_random_13.txt | AC | 74 ms | 81468 KiB |
| 01_random_14.txt | AC | 77 ms | 81648 KiB |
| 01_random_15.txt | AC | 75 ms | 83584 KiB |
| 01_random_16.txt | AC | 115 ms | 96632 KiB |
| 01_random_17.txt | AC | 213 ms | 127312 KiB |
| 01_random_18.txt | AC | 108 ms | 93552 KiB |
| 01_random_19.txt | AC | 215 ms | 127500 KiB |
| 01_random_20.txt | AC | 138 ms | 103196 KiB |
| 01_random_21.txt | AC | 219 ms | 127440 KiB |
| 01_random_22.txt | AC | 229 ms | 127508 KiB |
| 01_random_23.txt | AC | 66 ms | 81032 KiB |
| 02_max_00.txt | AC | 192 ms | 128328 KiB |
| 03_hack_00.txt | AC | 184 ms | 127856 KiB |
| 03_hack_01.txt | AC | 204 ms | 125096 KiB |