提出 #15679053
ソースコード 拡げる
import sys
sys.setrecursionlimit(10**6)
def dp(n,k,cache,height):
#print(cache)
if n==0:
return 0
elif n in cache :
return cache[n]
else:
lcl_min=float('inf')
i=1
while n-i>=0 and i<=k:
lcl_min=min(lcl_min,dp(n-i,k,cache,height)+abs(height[n]-height[n-i]))
i+=1
cache[n]=lcl_min
return cache[n]
n,k=map(int,input().split())
h=list(map(int,input().split()))
print(dp(n-1,k,dict(),h))
提出情報
| 提出日時 | |
|---|---|
| 問題 | B - Frog 2 |
| ユーザ | faisal_sohail |
| 言語 | PyPy3 (7.3.0) |
| 得点 | 0 |
| コード長 | 459 Byte |
| 結果 | TLE |
| 実行時間 | 2211 ms |
| メモリ | 231292 KiB |
ジャッジ結果
| セット名 | All | ||||
|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 100 | ||||
| 結果 |
|
| セット名 | テストケース |
|---|---|
| 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 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 0_00 | AC | 64 ms | 61808 KiB |
| 0_01 | AC | 56 ms | 61912 KiB |
| 0_02 | AC | 57 ms | 61908 KiB |
| 0_03 | AC | 57 ms | 61856 KiB |
| 1_00 | AC | 53 ms | 61780 KiB |
| 1_01 | AC | 54 ms | 61696 KiB |
| 1_02 | AC | 352 ms | 217012 KiB |
| 1_03 | TLE | 2211 ms | 224124 KiB |
| 1_04 | AC | 357 ms | 216324 KiB |
| 1_05 | AC | 389 ms | 219536 KiB |
| 1_06 | AC | 451 ms | 226624 KiB |
| 1_07 | AC | 524 ms | 227496 KiB |
| 1_08 | AC | 712 ms | 229660 KiB |
| 1_09 | AC | 1049 ms | 231292 KiB |
| 1_10 | AC | 1721 ms | 230712 KiB |
| 1_11 | TLE | 2211 ms | 223448 KiB |