Problem p03011 (python)

Fixed submission:
p,q,r=map(int,input().split())
print(sum([p,q,r])-max([p,q,r]))

Buggy submission (verdict: Runtime Error):
def main():
    from collections import defaultdict
    h, w = map(int, input().split())
    m = []
    o = []
    for _ in range(h):
        s = input()
        m.append(s)
        o.append(list(s))

    t = []
    for u in zip(*o):
        t.append(''.join(u))

    mr = [[0] * w for _ in range(h)]
    ml = [[0] * h for _ in range(w)]
    ans = 0
    for i in range(h):
        row = m[i]
        for j in range(w):
            col = t[j]
            if col[i] == '#':
                continue

            if mr[i][j]:
                c_row = mr[i][j]
            else:
                a, b = row[:j].rfind('#'), row[j + 1:].find('#')
                crl = j if a == -1 else j - 1 - a
                crr = w - j - 1 if b == -1 else b
                c_row = crl + crr
                # [j - crl, j + crr + 1)
                for k in range(j - crl, j + crr + 1):
                    mr[i][k] = c_row

            if ml[j][i]:
                c_col = ml[j][i]
            else:
                a, b = col[:i].rfind('#'), col[i + 1:].find('#')
                cll = i if a == -1 else i - 1 - a
                clr = h - i - 1 if b == -1 else b
                c_col = cll + clr
                # [i - cll, i + clr + 1)
                for k in range(i - cll, i + clr + 1):
                    ml[j][k] = c_col

            cnt = c_row + c_col + 1
            ans = max(ans, cnt)

    print(ans)


if __name__ == '__main__':
    main()

Buggy submission (verdict: Runtime Error):
def main():
    import sys
    from bisect import bisect_left as bl
    h, w = map(int, input().split())
    m = []
    row = []

    col = [[] for _ in range(w + 1)]
    for i in range(h):
        r = sys.stdin.readline()
        s = [-1] + [j for j, l in enumerate(r) if l == '#'] + [w]
        m.append(r)
        row.append(s)
        for k in s:
            col[k].append(i)

    ans = 0
    for i in range(h):
        r = row[i]
        for j in range(w):
            if m[i][j] == '#':
                continue
            l = [-1] + col[j] + [h]
            x, y = bl(r, j), bl(l, i)
            ans = max(ans, r[x] - r[x - 1] + l[y] - l[y - 1] - 3)

    print(ans)


if __name__ == '__main__':
    main()

Buggy submission (verdict: Runtime Error):
def main():
    from collections import defaultdict
    h, w = map(int, input().split())
    m = []
    o = []
    for _ in range(h):
        s = input()
        m.append(s)
        o.append(list(s))

    t = []
    for u in zip(*o):
        t.append(''.join(u))

    mr = [[0] * w for _ in range(h)]
    ml = [[0] * h for _ in range(w)]
    ans = 0
    for i in range(h):
        row = m[i]
        for j in range(w):
            col = t[j]
            if col[i] == '#':
                continue

            if mr[i][j]:
                c_row = mr[i][j]
            else:
                a, b = row[:j].rfind('#'), row[j + 1:].find('#')
                crl = j if a == -1 else j - 1 - a
                crr = w - j - 1 if b == -1 else b
                c_row = crl + crr
                # [j - crl, j + crr + 1)
                for k in range(j - crl, j + crr + 1):
                    mr[i][k] = c_row

            if ml[j][i]:
                c_col = ml[j][i]
            else:
                a, b = col[:i].rfind('#'), col[i + 1:].find('#')
                cll = i if a == -1 else i - 1 - a
                clr = h - i - 1 if b == -1 else b
                c_col = cll + clr
                # [i - cll, i + clr + 1)
                for k in range(i - cll, i + clr + 1):
                    ml[j][k] = c_col

            cnt = c_row + c_col + 1
            ans = max(ans, cnt)

    print(ans)


if __name__ == '__main__':
    main()

Buggy submission (verdict: Runtime Error):
p,q,r=map(int,input().split())
print(sum(p,q,r)-max(p,q,r))