AtCoder Beginner Contest 031

はい。
https://beta.atcoder.jp/contests/abc031

A - ゲーム

Python2

a,d=map(int,raw_input().split())
print max((a+1)*d,a*(d+1))

両方試して比較して出力。

B - 運動管理

Python2

l,h=map(int,raw_input().split())
n=int(raw_input())
for i in range(n):
    a=int(raw_input())
    print 0 if l<=a<=h else -1 if a>h else l-a

1行ずつ計算して出力。

C - 数列ゲーム

Python3

n=int(input())
a=[int(i) for i in input().split()]
o,e=[],[]
for i in range(n):
    if i%2:
        e.append(a[i])
        o.append(0)
    else:
        o.append(a[i])
        e.append(0)
 
if min(a)<0: ans=min(a)*n
else: ans=0
for i in range(n):
    chk=[0]*3
    for j in range(n):
        if i==j: continue
        elif i<j:
            if i%2:
                t=sum(e[i:j+1])
                b=sum(o[i:j+1])
                if chk[2]==0 or b>chk[1]:
                    chk=[t,b,1]
            else:
                t=sum(o[i:j+1])
                b=sum(e[i:j+1])
                if chk[2]==0 or b>chk[1]:
                    chk=[t,b,1]
        elif i>j:
            if j%2:
                t=sum(e[j:i+1])
                b=sum(o[j:i+1])
                if chk[2]==0 or b>chk[1]:
                    chk=[t,b,1]
            else:
                t=sum(o[j:i+1])
                b=sum(e[j:i+1])
                if chk[2]==0 or b>chk[1]:
                    chk=[t,b,1]
    ans=max(ans,chk[0])
print(ans)

全部試しても大丈夫らしいので全部試す。高橋君の位置iに対して青木君の位置jを1番目からn番目まで全部試す。最も左からスタートするので青木君の得点が大きい場合だけchkを更新する。n番目まで調べ終わったら高橋君の位置iの得点が決まるので1からn番目まで比較して最大値が解になると思う。