Submission #6891826
Source Code Expand
# -*- coding: utf-8 -*- import sys def input(): return sys.stdin.readline().strip() def list2d(a, b, c): return [[c] * b for i in range(a)] def list3d(a, b, c, d): return [[[d] * c for j in range(b)] for i in range(a)] def ceil(x, y=1): return int(-(-x // y)) def INT(): return int(input()) def MAP(): return map(int, input().split()) def LIST(): return list(map(int, input().split())) def Yes(): print('Yes') def No(): print('No') def YES(): print('YES') def NO(): print('NO') sys.setrecursionlimit(10 ** 9) INF = float('inf') MOD = 10 ** 9 + 7 R, G, B = MAP() total = R + G + B # どのマーブルを使うか def calc(cur, cnt): # R if total - cnt > G + B: return abs(400-cur) # G elif total - cnt > B: return abs(500-cur) # B else: return abs(600-cur) # memo[i][j] := マーブル使用回数jの時の、位置iから先の最小操作回数 memo = list2d(1001, total+1, INF) def rec(cur, cnt): if memo[cur][cnt] != INF: return memo[cur][cnt] # 使い切ったのでこの先のコストは0確定 if cnt == total: memo[cur][cnt] = 0 return 0 # 現在位置curにマーブルを置く場合の遷移 res = rec(cur+1, cnt+1)+calc(cur, cnt) # 残り移動回数 == マーブル残数 になると、もう置くしかない if 1000 - cur == total - cnt: memo[cur][cnt] = res return res # 大丈夫なら、マーブルを置かない場合の遷移と比較する res = min(res, rec(cur+1, cnt)) memo[cur][cnt] = res return res print(rec(0, 0))
Submission Info
Submission Time | |
---|---|
Task | D - マーブル |
User | Coki628 |
Language | Python (3.4.3) |
Score | 100 |
Code Size | 1643 Byte |
Status | AC |
Exec Time | 350 ms |
Memory | 14856 KB |
Judge Result
Set Name | sub1 | sub2 | All | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 10 / 10 | 30 / 30 | 60 / 60 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
sub1 | sample_01_ABC.txt, test_ABC_01.txt, test_ABC_02.txt, test_ABC_03.txt, test_ABC_04.txt, test_ABC_05.txt, test_ABC_06.txt, test_ABC_07.txt, test_ABC_08.txt, test_ABC_09.txt, test_ABC_10.txt, test_ABC_11.txt, test_ABC_12.txt, test_ABC_13.txt, test_ABC_14.txt, test_ABC_15.txt, test_ABC_16.txt, test_ABC_17.txt, test_ABC_18.txt, test_ABC_19.txt, test_ABC_20.txt, test_ABC_21.txt, test_ABC_22.txt, test_ABC_23.txt, test_ABC_24.txt, test_ABC_25.txt, test_ABC_26.txt, test_ABC_27.txt, test_ABC_28.txt |
sub2 | sample_01_ABC.txt, sample_02_BC.txt, test_ABC_01.txt, test_ABC_02.txt, test_ABC_03.txt, test_ABC_04.txt, test_ABC_05.txt, test_ABC_06.txt, test_ABC_07.txt, test_ABC_08.txt, test_ABC_09.txt, test_ABC_10.txt, test_ABC_11.txt, test_ABC_12.txt, test_ABC_13.txt, test_ABC_14.txt, test_ABC_15.txt, test_ABC_16.txt, test_ABC_17.txt, test_ABC_18.txt, test_ABC_19.txt, test_ABC_20.txt, test_ABC_21.txt, test_ABC_22.txt, test_ABC_23.txt, test_ABC_24.txt, test_ABC_25.txt, test_ABC_26.txt, test_ABC_27.txt, test_ABC_28.txt, test_BC_29.txt, test_BC_30.txt, test_BC_31.txt, test_BC_32.txt, test_BC_33.txt, test_BC_34.txt, test_BC_35.txt, test_BC_36.txt, test_BC_37.txt, test_BC_38.txt, test_BC_39.txt, test_BC_40.txt, test_BC_41.txt, test_BC_42.txt, test_BC_43.txt, test_BC_44.txt, test_BC_45.txt, test_BC_46.txt, test_BC_47.txt, test_BC_48.txt, test_BC_49.txt, test_BC_50.txt, test_BC_51.txt, test_BC_52.txt, test_BC_53.txt, test_BC_54.txt, test_BC_55.txt |
All | sample_01_ABC.txt, sample_02_BC.txt, sample_03_C.txt, test_ABC_01.txt, test_ABC_02.txt, test_ABC_03.txt, test_ABC_04.txt, test_ABC_05.txt, test_ABC_06.txt, test_ABC_07.txt, test_ABC_08.txt, test_ABC_09.txt, test_ABC_10.txt, test_ABC_11.txt, test_ABC_12.txt, test_ABC_13.txt, test_ABC_14.txt, test_ABC_15.txt, test_ABC_16.txt, test_ABC_17.txt, test_ABC_18.txt, test_ABC_19.txt, test_ABC_20.txt, test_ABC_21.txt, test_ABC_22.txt, test_ABC_23.txt, test_ABC_24.txt, test_ABC_25.txt, test_ABC_26.txt, test_ABC_27.txt, test_ABC_28.txt, test_BC_29.txt, test_BC_30.txt, test_BC_31.txt, test_BC_32.txt, test_BC_33.txt, test_BC_34.txt, test_BC_35.txt, test_BC_36.txt, test_BC_37.txt, test_BC_38.txt, test_BC_39.txt, test_BC_40.txt, test_BC_41.txt, test_BC_42.txt, test_BC_43.txt, test_BC_44.txt, test_BC_45.txt, test_BC_46.txt, test_BC_47.txt, test_BC_48.txt, test_BC_49.txt, test_BC_50.txt, test_BC_51.txt, test_BC_52.txt, test_BC_53.txt, test_BC_54.txt, test_BC_55.txt, test_C_56.txt, test_C_57.txt, test_C_58.txt, test_C_59.txt, test_C_60.txt, test_C_61.txt, test_C_62.txt, test_C_63.txt, test_C_64.txt, test_C_65.txt, test_C_66.txt, test_C_67.txt, test_C_68.txt, test_C_69.txt, test_C_70.txt, test_C_71.txt, test_C_72.txt, test_C_73.txt, test_C_74.txt, test_C_75.txt, test_C_76.txt, test_C_77.txt, test_C_78.txt, test_C_79.txt, test_C_80.txt, test_C_81.txt, test_C_82.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01_ABC.txt | AC | 30 ms | 4084 KB |
sample_02_BC.txt | AC | 79 ms | 4980 KB |
sample_03_C.txt | AC | 284 ms | 14856 KB |
test_ABC_01.txt | AC | 28 ms | 4084 KB |
test_ABC_02.txt | AC | 29 ms | 4084 KB |
test_ABC_03.txt | AC | 29 ms | 4084 KB |
test_ABC_04.txt | AC | 32 ms | 4084 KB |
test_ABC_05.txt | AC | 26 ms | 3956 KB |
test_ABC_06.txt | AC | 30 ms | 4084 KB |
test_ABC_07.txt | AC | 31 ms | 4084 KB |
test_ABC_08.txt | AC | 31 ms | 4084 KB |
test_ABC_09.txt | AC | 29 ms | 4084 KB |
test_ABC_10.txt | AC | 29 ms | 4084 KB |
test_ABC_11.txt | AC | 35 ms | 4084 KB |
test_ABC_12.txt | AC | 29 ms | 4084 KB |
test_ABC_13.txt | AC | 29 ms | 4084 KB |
test_ABC_14.txt | AC | 29 ms | 4084 KB |
test_ABC_15.txt | AC | 28 ms | 3956 KB |
test_ABC_16.txt | AC | 30 ms | 4084 KB |
test_ABC_17.txt | AC | 32 ms | 4084 KB |
test_ABC_18.txt | AC | 32 ms | 4084 KB |
test_ABC_19.txt | AC | 32 ms | 4084 KB |
test_ABC_20.txt | AC | 30 ms | 4084 KB |
test_ABC_21.txt | AC | 23 ms | 3956 KB |
test_ABC_22.txt | AC | 27 ms | 4084 KB |
test_ABC_23.txt | AC | 27 ms | 4084 KB |
test_ABC_24.txt | AC | 28 ms | 4084 KB |
test_ABC_25.txt | AC | 32 ms | 4084 KB |
test_ABC_26.txt | AC | 32 ms | 4084 KB |
test_ABC_27.txt | AC | 32 ms | 4084 KB |
test_ABC_28.txt | AC | 37 ms | 4212 KB |
test_BC_29.txt | AC | 59 ms | 4596 KB |
test_BC_30.txt | AC | 63 ms | 4596 KB |
test_BC_31.txt | AC | 80 ms | 5108 KB |
test_BC_32.txt | AC | 88 ms | 5236 KB |
test_BC_33.txt | AC | 106 ms | 5620 KB |
test_BC_34.txt | AC | 109 ms | 5620 KB |
test_BC_35.txt | AC | 74 ms | 4852 KB |
test_BC_36.txt | AC | 95 ms | 5236 KB |
test_BC_37.txt | AC | 88 ms | 5104 KB |
test_BC_38.txt | AC | 83 ms | 5236 KB |
test_BC_39.txt | AC | 76 ms | 4852 KB |
test_BC_40.txt | AC | 112 ms | 5620 KB |
test_BC_41.txt | AC | 107 ms | 5492 KB |
test_BC_42.txt | AC | 132 ms | 5864 KB |
test_BC_43.txt | AC | 83 ms | 5108 KB |
test_BC_44.txt | AC | 72 ms | 4852 KB |
test_BC_45.txt | AC | 76 ms | 4852 KB |
test_BC_46.txt | AC | 109 ms | 5616 KB |
test_BC_47.txt | AC | 85 ms | 5108 KB |
test_BC_48.txt | AC | 118 ms | 5748 KB |
test_BC_49.txt | AC | 114 ms | 5492 KB |
test_BC_50.txt | AC | 113 ms | 5620 KB |
test_BC_51.txt | AC | 112 ms | 5748 KB |
test_BC_52.txt | AC | 69 ms | 4724 KB |
test_BC_53.txt | AC | 73 ms | 4852 KB |
test_BC_54.txt | AC | 66 ms | 4980 KB |
test_BC_55.txt | AC | 156 ms | 6384 KB |
test_C_56.txt | AC | 270 ms | 9324 KB |
test_C_57.txt | AC | 335 ms | 12908 KB |
test_C_58.txt | AC | 335 ms | 13164 KB |
test_C_59.txt | AC | 316 ms | 12772 KB |
test_C_60.txt | AC | 237 ms | 8560 KB |
test_C_61.txt | AC | 314 ms | 11244 KB |
test_C_62.txt | AC | 312 ms | 10604 KB |
test_C_63.txt | AC | 329 ms | 11636 KB |
test_C_64.txt | AC | 288 ms | 9972 KB |
test_C_65.txt | AC | 323 ms | 11496 KB |
test_C_66.txt | AC | 320 ms | 12252 KB |
test_C_67.txt | AC | 335 ms | 11872 KB |
test_C_68.txt | AC | 268 ms | 9196 KB |
test_C_69.txt | AC | 271 ms | 10220 KB |
test_C_70.txt | AC | 305 ms | 11764 KB |
test_C_71.txt | AC | 345 ms | 12236 KB |
test_C_72.txt | AC | 308 ms | 14132 KB |
test_C_73.txt | AC | 335 ms | 13780 KB |
test_C_74.txt | AC | 345 ms | 12600 KB |
test_C_75.txt | AC | 322 ms | 12260 KB |
test_C_76.txt | AC | 350 ms | 13236 KB |
test_C_77.txt | AC | 335 ms | 13628 KB |
test_C_78.txt | AC | 343 ms | 14800 KB |
test_C_79.txt | AC | 275 ms | 9192 KB |
test_C_80.txt | AC | 296 ms | 10100 KB |
test_C_81.txt | AC | 283 ms | 11112 KB |
test_C_82.txt | AC | 149 ms | 13328 KB |