Когда я запустил свой код в проблеме Topcoder, это показало, что есть ошибка: IndexError: list index out of range. Однако код отлично работал на Python IDLE. Может ли кто-нибудь сказать мне, где не так?
Информация о проблеме:
Класс определения:
Метод нарезки сыра: общая площадь
Параметры: целое, целое, целое, целое
Возвращает: целочисленный метод
подпись: def totalArea(self, A, B, C, S):
Примеры
0) 1 3 3 2
Возвращает: 0
Одно из измерений этого блока равно 1. Независимо от того, как мы его разрезаем, каждый кусок будет иметь одно измерение, равное 1. Так как S=2, это означает, что сделать хороший срез невозможно. Следовательно, максимальная общая площадь хороших срезов равна 0.
import sys
total=0
data=sys.stdin.read().split()
x,y,z,s=int(data[0]),int(data[1]),int(data[2]),int(data[3])
if min(x,y,z)==s:
print x*y*z/s
elif min(x,y,z)<s:
print 0
elif max(x,y,z)>s:
lines=[x,y,z]
while max(lines)>=2*s:
area=1
maxline=max(lines)
lines.pop(lines.index(maxline))
for line in lines:
area=area*line
total+=area
lines.append(maxline-s)
area=1
minline=min(lines)
lines.pop(lines.index(minline))
for line in lines:
area=area*line
total+=area
print total