提出 #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
結果
AC × 14
TLE × 2
セット名 テストケース
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