izekia
да, я кстати думал об этом, но ты думаешь это быстрее работать будет чем, через StringIO?
та, але є проблема. треба зберігати в окремій змінній індекс в списку
lines = stdin.readlines()
line_index = 0
ncases = lines
line_index += 1 !!! - це повільно виконується
….
import psyco;
import sys
from cStringIO import StringIO
import os
fin = sys.stdin.readlines()
fout = StringIO()
routput = fout.write
def main():
cache = dict()
for x in range(100):
cache[str(x)] = x
q = 2
for i in range(int(fin[0])):
prev_line = [cache[fin[q].rstrip()]]
last_line = []
for j in range(1, int(fin[q - 1])):
q += 1
last_line = [cache[x] for x in fin[q].split()]
last_line[0] += prev_line[0]
for z in xrange(1, len(prev_line)):
plx = prev_line[z]
last_line[z] += prev_line[z - 1] <= plx and plx or prev_line[z - 1]
last_line[-1] += prev_line[len(prev_line) - 1]
prev_line = last_line
routput('%i\n'%_max(last_line) or prev_line[0])
q += 2
fout.seek(0)
os.write(1, fout.read())
psyco.bind(main)
def _max(l):
m = l[0]
for c in l:
m = c if m < c else m
return m
psyco.bind(_max)
main()
0.92