ABC088-B - Card Game for Two を解く
ABC088-B - Card Game for Two
2人のプレイヤーがN枚のカードを交互に取っていく
それぞれが取ったカードに書かれた数字の合計を最大にしようとするとき
先攻は後攻に対して何点差をつけられるか、という問題
常に数字が最大のものを取るようにしてシミュレーションを行う
最後に各自の合計の差を取って出力する
以上を踏まえて書いたコードを以下に示す
提出したコード
# 入力 N=int(input()) l=list(map(int,input().split())) # 先攻:a 後攻:b a=b=0 # 数字が大きい順にソート l.sort() l.reverse() for i in range(len(l)): if i%2==0: a+=l[i] else: b+=l[i] # 出力 print(a-b)
提出結果はACでした