Problem p02873 (python)

Fixed submission:
s = list(input())
N = len(s)
a = [0] * (10+N)
if(s[0] == '<'): p = 0
else: p = 1
count = 0
count2 = 0
A = 0
start = 0
end = 0

for i in range(N):
    if ((s[i] == '>')& (p == 0)):
        #print('a')
        count2 += 1
        p = 1
        max_ = i
    elif(p == 0):
        #print('b')
        count += 1
    elif(s[i] == '<'):
        #print('c')
        end = i
        if(count > count2):
            count2 -=1
            A += count*(count+1)/2
            A += count2*(count2+1)/2
        else:
            count -=1
            A += count*(count+1)/2
            A += count2*(count2+1)/2
        p = 0
        start = i
        count = 1
        count2 = 0
        max_ = 0
    else:
        #print('d')
        count2 += 1
if(count > count2):
    count2 -=1
    A += count*(count+1)/2
    A += count2*(count2+1)/2
else:
    count -=1
    A += count*(count+1)/2
    A += count2*(count2+1)/2
print(int(A))

Buggy submission (verdict: Runtime Error):
s = list(input())
N = len(s)
a = [0] * (10+N)
if(s[0] == '<'): p = 0
else: p = 1
count = 0
count2 = 0
sum_ = 0
start = 0
end = 0
for i in range(N):
    if ((s[i] == '>')& (p == 0)):
        #print('a')
        count2 += 1
        p = 1
        max_ = i
    elif(p == 0):
        #print('b')
        count += 1
    elif(s[i] == '<'):
        #print('c')
        end = i
        if(count > count2):
            t = count
            a[max_] = t
            max_ -= 1
            t -= 1
            while(t >= 0):
                a[max_] = t
                max_ -= 1
                t -= 1
            k = 0
            a[end] = 0
            k += 1
            while(k < count2):
                a[end-k] = k
                k += 1
        else:
            t = count2
            a[max_] = t
            max_ += 1
            t -= 1
            while(t >= 0):
                a[max_] = t
                max_ += 1
                t -= 1
            k = 0
            a[start] = 0
            k += 1
            while(k < count):
                a[start+k] = k
                k += 1
        p = 0
        start = i
        count = 1
        count2 = 0
        max_ = 0
        #print(a)
    else:
        #print('d')
        count2 += 1
        
if(count > count2):
    if(max_==0):
        max_= N
    t = count
    a[max_] = t
    max_ -= 1
    t -= 1
    while(t >= 0):
        a[max_] = t
        max_ -= 1
        t -= 1
    k = 0
    a[end] = 0
    k += 1
    while(k < count2):
        a[end-k] = k
        k += 1
else:
    t = count2
    a[max_] = t
    max_ += 1
    t -= 1
    while(t >= 0):
        a[max_] = t
        max_ += 1
        t -= 1
    k = 0
    a[start] = 0
    k += 1
    while(k < count):
        a[start+k] = k
        k += 1
sum(a)

Buggy submission (verdict: Runtime Error):
s = list(input())
N = len(s)
a = [0] * (1+N)
if(s[0] == '<'): p = 0
else: p = 1
count = 0
count2 = 0
sum_ = 0
start = 0
end = 0
for i in range(N):
    if ((s[i] == '>')& (p == 0)):
        #print('a')
        count2 += 1
        p = 1
        max_ = i
    elif(p == 0):
        #print('b')
        count += 1
    elif(s[i] == '<'):
        #print('c')
        end = i
        if(count > count2):
            t = count
            a[max_] = t
            max_ -= 1
            t -= 1
            while(t >= 0):
                a[max_] = t
                max_ -= 1
                t -= 1
            k = 0
            a[end] = 0
            k += 1
            while(k < count2):
                a[end-k] = k
                k += 1
        else:
            t = count2
            a[max_] = t
            max_ += 1
            t -= 1
            while(t >= 0):
                a[max_] = t
                max_ += 1
                t -= 1
            k = 0
            a[start] = 0
            k += 1
            while(k < count):
                a[start+k] = k
                k += 1
        p = 0
        start = i
        count = 1
        count2 = 0
        max_ = 0
        #print(a)
    else:
        #print('d')
        count2 += 1
        
if(count > count2):
    if(max_==0):
        max_= N
    t = count
    a[max_] = t
    max_ -= 1
    t -= 1
    while(t >= 0):
        a[max_] = t
        max_ -= 1
        t -= 1
    k = 0
    a[end] = 0
    k += 1
    while(k < count2):
        a[end-k] = k
        k += 1
else:
    t = count2
    a[max_] = t
    max_ += 1
    t -= 1
    while(t >= 0):
        a[max_] = t
        max_ += 1
        t -= 1
    k = 0
    a[start] = 0
    k += 1
    while(k < count):
        a[start+k] = k
        k += 1
print(sum(a))

Buggy submission (verdict: Runtime Error):
s = list(input())
N = len(s)
a = [0] * (1+N)
if(s[0] == '<'): p = 0
else: p = 1
count = 0
count2 = 0
sum_ = 0
start = 0
end = 0
for i in range(N):
    if ((s[i] == '>')& (p == 0)):
        #print('a')
        count2 += 1
        p = 1
        max_ = i
    elif(p == 0):
        #print('b')
        count += 1
    elif(s[i] == '<'):
        #print('c')
        end = i
        if(count > count2):
            t = count
            a[max_] = t
            max_ -= 1
            t -= 1
            while(t >= 0):
                a[max_] = t
                max_ -= 1
                t -= 1
            k = 0
            a[end] = 0
            k += 1
            while(k < count2):
                a[end-k] = k
                k += 1
        else:
            t = count2
            a[max_] = t
            max_ += 1
            t -= 1
            while(t >= 0):
                a[max_] = t
                max_ += 1
                t -= 1
            k = 0
            a[start] = 0
            k += 1
            while(k < count):
                a[start+k] = k
                k += 1
        p = 0
        start = i
        count = 1
        count2 = 0
        max_ = 0
        #print(a)
    else:
        #print('d')
        count2 += 1
        
if(count > count2):
    if(max_==0):
        max_= N
    t = count
    a[max_] = t
    max_ -= 1
    t -= 1
    while(t >= 0):
        a[max_] = t
        max_ -= 1
        t -= 1
    k = 0
    a[end] = 0
    k += 1
    while(k < count2):
        a[end-k] = k
        k += 1
else:
    t = count2
    a[max_] = t
    max_ += 1
    t -= 1
    while(t >= 0):
        a[max_] = t
        max_ += 1
        t -= 1
    k = 0
    a[start] = 0
    k += 1
    while(k < count):
        a[start+k] = k
        k += 1
sum(a)