Problem p03160 (python)

Fixed submission:
"""
A - Frog 1
"""
class DP():
    def __init__(self):
        pass
    
    def chmin(self, a, b):
        if a>b:
            return b
        else:
            return a
        
    def chmax(self):
        if a<b:
            return b
        else:
            return a
        
N = int(input())
# K = int(input())
cost_list = list(map(int, input().split()))
# cost_list = [2, 9, 4, 5, 1, 6, 10]
# N = len(cost_list)
K = 2

dpfun = DP()
# dp = np.ones(N) * np.inf
INF = 2**60
dp = [INF]*N
" 初期条件 "
dp[0] = 0

for i in range(1, N, 1):
    if i==1:    
        dp[i] = dpfun.chmin(dp[i], dp[i-1] + abs(cost_list[i] - cost_list[i-1]))
    else:
        for j in range(1, K+1, 1):
            dp[i] = dpfun.chmin(dp[i], dp[i-j] + abs(cost_list[i] - cost_list[i-j]))
print(int(dp[-1]))

Buggy submission (verdict: Runtime Error):
"""
B - Frog 2
配るDP
"""

# class DP():
#     def __init__(self):
#         pass
    
def chmin(a, b):
    if a>b:
        return b
    else:
        return a
        
N,K = map(int, input().split())
cost_list = list(map(int, input().split()))
# cost_list = [2, 9, 4, 5, 1, 6, 10]
# N = len(cost_list)
# K = 2

" 初期状態 "
dp = [2**60]*N
" 初期条件 "
dp[0] = 0
for i in range(0, N-1, 1):
    rem = (N-i-1)
    [break if j>rem else dp[i+j] = chmin(dp[i+j], dp[i] + abs(cost_list[i] - cost_list[i+j])) for j in range(1, K+1, 1)]
else:
    dp[i+1] = chmin(dp[i+1], dp[i] + abs(cost_list[i] - cost_list[i+1]))
print(int(dp[-1]))

Buggy submission (verdict: Runtime Error):
"""
A - Frog 1
"""
class DP():
    def __init__(self):
        pass
    
    def chmin(self, a, b):
        if a>b:
            return b
        else:
            return a
        
    def chmax(self):
        if a<b:
            return b
        else:
            return a
        
N = int(input())
# K = int(input())
cost_list = list(map(int, input().split()))
# cost_list = [2, 9, 4, 5, 1, 6, 10]
# N = len(cost_list)
# K = 2

dpfun = DP()
# dp = np.ones(N) * np.inf
INF = 2**60
dp = [INF]*N
" 初期条件 "
dp[0] = 0

for i in range(1, N, 1):
    if i==1:    
        dp[i] = dpfun.chmin(dp[i], dp[i-1] + abs(cost_list[i] - cost_list[i-1]))
    else:
        for j in range(1, K+1, 1):
            dp[i] = dpfun.chmin(dp[i], dp[i-j] + abs(cost_list[i] - cost_list[i-j]))
print(int(dp[-1]))

Buggy submission (verdict: Runtime Error):
import numpy as np

class DP():
    def __init__(self):
        pass
    
    def chmin(self, a, b):
        if a>b:
            return b
        else:
            return a
        
    def chmax(self):
        if a<b:
            return b
        else:
            return a
        
N = int(input())
cost_list = list(map(int, input().split()))
# cost_list = [2, 9, 4, 5, 1, 6, 10]

dpfun = DP()
dp = (np.ones(7) * np.inf)
# " 初期条件 "
dp[0] = 0

for i in range(1, N, 1):
    if i==1:    
        dp[i] = dpfun.chmin(dp[i], dp[i-1] + abs(cost_list[i] - cost_list[i-1]))
    else:
        dp[i] = dpfun.chmin(dp[i], dp[i-1] + abs(cost_list[i] - cost_list[i-1]))
        dp[i] = dpfun.chmin(dp[i], dp[i-2] + abs(cost_list[i] - cost_list[i-2]))
print(int(dp[-1]))

Buggy submission (verdict: Runtime Error):
"""
A - Frog 1
"""
import numpy as np

class DP():
    def __init__(self):
        pass
    
    def chmin(self, a, b):
        if a>b:
            return b
        else:
            return a
        
    def chmax(self):
        if a<b:
            return b
        else:
            return a
        
N = int(input())
cost_list = list(map(int, input().split()))
# cost_list = [2, 9, 4, 5, 1, 6, 10]

dpfun = DP()
dp = (np.ones(7) * np.inf)
" 初期条件 "
dp[0] = 0


for i in range(1, N, 1):
    if i==1:    
        dp[i] = dpfun.chmin(dp[i], dp[i-1] + abs(cost_list[i] - cost_list[i-1]))
    else:
        dp[i] = dpfun.chmin(dp[i], dp[i-1] + abs(cost_list[i] - cost_list[i-1]))
        dp[i] = dpfun.chmin(dp[i], dp[i-2] + abs(cost_list[i] - cost_list[i-2]))
print(int(dp[-1]))