the following code (my solution for ACPC10D problem) on submitting here on SPOJ ,it shows TLE..
Can anyone help me with this code to detect what's the problem?
count = 0
while True:
n = int(input())
if n is 0:
break
a = []
for i in range(n):
a.append([])
for x in input().split():
a[i].append(int(x))
if n==2:
ans = min(a[0][1]+a[1][1],
a[0][1]+a[0][2]+a[1][1],
a[0][1]+a[1][0]+a[1][1])
else:
a[1][0] += a[0][1]
a[1][1] += min(a[0][1],a[1][0])
a[1][2] += min(a[0][1],a[1][1])
for i in range(2, n):
a[i][0] += min(a[i-1][0],a[i-1][1])
a[i][1] += min(a[i-1][0],a[i-1][1],a[i-1][2],a[i][0])
a[i][2] += min(a[i-1][1],a[i-1][2],a[i][1])
ans = a[n-1][1]
count += 1
print(str(count) + '. ' + str(ans))