Problem p02835 (python)

Fixed submission:
import sys
import math
import bisect
from collections import defaultdict, deque, Counter
from heapq import heappush, heappop


def LI(): return [int(x) for x in sys.stdin.readline().split()]


def I(): return int(sys.stdin.readline())


def S():
    res = list(sys.stdin.readline())
    if res[-1] == "\n":
        return res[:-1]
    return res


def IR(n):
    return [I() for i in range(n)]


# A
def A():
    a, b, c = LI()
    if a + b + c >= 22:
        print("bust")
    else:
        print("win")
    return


# B
def B():
    return


# C
def C():
    return


# D
def D():
    return


# E
def E():
    return


# F
def F():
    return


# Unittest
def resolve():
    A()
    return


# Solve
if __name__ == "__main__":
    A()

Buggy submission (verdict: Runtime Error):
import sys
import math
import bisect
from collections import defaultdict, deque, Counter
from heapq import heappush, heappop


def LI(): return [int(x) for x in sys.stdin.readline().split()]


def I(): return int(sys.stdin.readline())


def S():
    res = list(sys.stdin.readline())
    if res[-1] == "\n":
        return res[:-1]
    return res


def IR(n):
    return [I() for i in range(n)]


# A
def A():
    a, b, c = LI()
    if a + b + c >= 22:
        print("bust")
    else:
        print("win")
    return


# B
def B():
    s = S()
    ans = 0
    for i in range(len(s) // 2):
        if s[i] != s[-i - 1]:
            ans += 1
    print(ans)
    return


# C
def C():
    n = I()
    res = [[0] * n for i in range(n)]
    ans = 0
    for i in range(n):
        a = I()
        for j in range(a):
            x, y = LI()
            if y == 0:
                res[i][x - 1] = 1
    while (1):
        max_num = 0
        max_ind = -1
        for i in range(n):
            num = 0
            for j in range(n):
                if i == j:
                    num += sum(res[i])
                else:
                    if res[j][i] == 1:
                        num += 1
            if num > max_num:
                max_num = num
                max_ind = i
        if max_ind == -1:
            print(n - ans)
            return
        else:
            ans += 1
            res[max_ind] = [0] * n
            for i in range(n):
                res[i][max_ind] = 0
    return


# D
def D():
    return


# E
def E():
    h, w = LI()
    a = [LI() for i in range(h)]
    b = [LI() for i in range(h)]
    max_num = 80 ** 3 + 10
    dp = [[[0] * max_num for i in range(w)] for i in range(h)]
    dp[0][0][abs(a[0][0] - b[0][0])] = 1
    for i in range(1, h):
        for num in range(max_num):
            if dp[i - 1][0][num] == 1:
                dp[i][0][abs(num + abs(a[i][0] - b[i][0]))] = 1
                dp[i][0][abs(num - abs(a[i][0] - b[i][0]))] = 1
    for i in range(1, w):
        for num in range(max_num):
            if dp[0][i - 1][num] == 1:
                dp[0][i][abs(num + abs(a[0][i] - b[0][i]))] = 1
                dp[0][i][abs(num - abs(a[0][i] - b[0][i]))] = 1
    for i in range(1, h):
        for j in range(1, w):
            for num in range(max_num):
                if dp[i - 1][j][num] == 1:
                    dp[i][j][abs(num + abs(a[i][j] - b[i][j]))] = 1
                    dp[i][j][abs(num - abs(a[i][j] - b[i][j]))] = 1
                if dp[i][j - 1][num] == 1:
                    dp[i][j][abs(num + abs(a[i][j] - b[i][j]))] = 1
                    dp[i][j][abs(num - abs(a[i][j] - b[i][j]))] = 1
    for i in range(100):
        if dp[h - 1][w - 1][i] == 1:
            print(i)
            break
    return


# F
def F():
    return


# Solve
if __name__ == "__main__":
    E()