ABC074-B - Collecting Balls (Easy Version) を解く
ABC074-B - Collecting Balls (Easy Version)
問題文が長い…
プログラムを書くこと以上に、問題内容の理解の方が大変そうだ
…読んでみたがイマイチよくわからなかったので
サンプルの説明を読んでみた
入力形式
N
K
x1 x2 ... xN
上記の形式で入力があったとき
x1 〜 xN について、xi と K-xi の小さい方を2倍したものの
総和を求めればいい、ということらしい
例えば、入力が
3
10
2 4 6
の場合を考えてみる
2 と 10 - 2 = 8 では、2 の方が小さい。これの2倍で 4
4 と 10 - 4 = 6 では、4 の方が小さい。これの2倍で 8
6 と 10 - 6 = 4 では、4 の方が小さい。これの2倍で 8
以上の合計は 4 + 8 + 8 = 20 となり、これが答えとなる、というわけだ
この処理をコードに落とし込めばいい
以上を踏まえて書いたコードを以下に示す
提出したコード
# 入力 N=int(input()) K=int(input()) l=list(map(int,input().split())) sm=0 for x in l: sm+=min(x,K-x)*2 # 出力 print(sm)
問題文を読んでもわからない場合は
入出力例を見てみることでわかる場合もある
(そこに詳しい説明が書かれていることもざらにある)
提出結果はACでした