0.92спасибо за идею со StringIO, это намного ускоряет ввод и вывод
кстати, есть интересная задача, аналогичная, только с ограничением
SUMITRimport psyco
psyco.full()
from collections import defaultdict
import sys
from cStringIO import StringIO
import gc; gc.disable()
fin = StringIO(sys.stdin.read())
fout = StringIO()
rinput = fin.readline
routput = fout.write
def main():
nums = defaultdict(int)
for x in range(100):
nums[str(x)] = x
for caseNum in range(int(rinput())):
rowCount=nums[rinput().rstrip()]
lastLine = prevLine = [nums[rinput().rstrip()],]
for i in range(1, rowCount):
lastLine = [nums[x] for x in rinput().split()]
lastLine[0] += prevLine[0]
lastLine[-1] += prevLine[-1]
for j in range(1, len(lastLine) - 1):
lastLine[j] += prevLine[j] if prevLine[j] > prevLine[j - 1] else prevLine[j - 1]
prevLine = lastLine
routput(str(max(lastLine)) + '\n')
fout.seek(0)
sys.stdout.write(fout.read())
main()