AtCoder Beginner Contest 129 に挑戦【Python】

A - Airplane

入力例

1 3 4

提出したコード

time = list(map(int, input().split()))
time.remove(max(time))
print(sum(time))

ひとこと

かんたん

B - Balance

入力例

3
1 2 3

提出したコード

N = int(input())
W = list(map(int, input().split()))

sum_W = sum(W)
add_W = 0

for i in range(N):
   add_W += W[i]
   if add_W >= sum_W - add_W:
       print(min(abs(add_W - sum_W + add_W), abs(add_W - W[i] - sum_W + add_W - W[i])))
       break

ひとこと

めっちゃ苦戦しました。左から足していったものを add_W として、add_W が sum_W - add_W を越えたらプリントにしてたんですけど、越える前の差の絶対値が最小になることがあることに気づきませんでした。

感想

今回はBで苦戦してCいけませんでした。Cは解きたいなー

明日からはこの4日で行けなかった分のCとかDとかを解いていきたいと思います

この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

1
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。