周りがワンライナーでがんばってたので、自分もやってみた感じ。 ただ一行で書いただけなので、そんなにワンライナーっぽくない。
print (lambda n: reduce((lambda a,b: a+b), map(int, [raw_input() for _ in xrange(0,n)])))(input());
print reduce((lambda a,b: a+b), [(lambda a: a[2] * (a[0] - a[1]) if a[0] > a[1] else 0)(x) for x in (lambda n: map((lambda a: map(int, a.split())), [raw_input() for i in xrange(0,n)]))(input())]);
print reduce( (lambda t,s: (lambda x,y: ( y if x < y else x, y))(t[0], t[1]-s[0]+s[1])), (lambda g: (lambda t,n: (lambda a: [(lambda b: (b, b))( sum(a[0:t-1]) ), (0, a[t-1])] + zip(a[0:n-t], a[t:n+1]))(map(int, [raw_input() for _ in xrange(0,n)])))(g[0],g[1]))(map(int, raw_input().split())))[0]
# 入力第一行読み込み
g = map(int, raw_input().split())
t = g[0]
n = g[1]
# n個のデータ読み込み
a = map(int, [raw_input() for _ in xrange(0,n)])
# 最初の答えの一歩手前
b = sum(a[0:t-1])
# タプルのリストを作る
# list_part1は、うまくreduceで計算を行うためのもの
list_part1 = [(b,b),(0,a[t-1])]
# list_part2の要素のタプルは
# 第一要素が前のt個の連続データの最初の値
# 第二要素が次のt個の連続データの最後の値
# が入っている
list_part2 = zip(a[0:n-t], a[t:n+1]))
list = list_part1 + list_part2
# 先の作ったタプルのリストをこのラムダ関数を用いてreduceすると
# 第一要素が今までで最大のt個の連続データの和
# 第二要素が前回計算したt個の連続データの和
# となるタプルが返る
# list_part1は1回目のreduceの結果で最初のt個の連続データの和を
# 統一した計算により求めるためのデータなのであった
ans_taple = reduce((lambda t,s: (lambda x,y: ( y if x < y else x, y))(t[0], t[1]-s[0]+s[1])), list)
print ans_taple[0]