【Python】AtCoder Beginner Contest209 A,B問題 解答

この記事は約2分で読めます。

A問題 Counting

 

B問題 Can you buy them all?

方針

問題文より入力値の内容は以下の通りです。

n:2行目に入力される値の数

x:所持金

2行目のそれぞれの値:商品の定価

1行目はそれぞれn,xの変数へ、2行目は入力値を全てリストに格納します。

リストの要素が0,2,4,6,・・・番目(奇数番目の商品)であればその要素番号に対応する値(商品の定価)-1を変数ansに加えます。

リストの要素が1,3,5,7番目(偶数番目の商品)であれば、その要素番号に対応する値(商品の定価)を変数ansに加えます。

最後に所持金であるxが変数ansより大きいか小さいかでYes,Noを出力します。

解答

入力値が以下の場合、

5,10

1,2,3,4,5

リストの中身はこのようになります。

リスト:   [1,2,3,4,5]

要素番号:0,1,2,3,4

 

[1]

リストの要素番号iを2で割った時の余りが0以外の場合、つまり偶数番目の入力値の場合はlist[i]-1をansに加えます。

[2]

[1]以外の場合、つまりリストの要素番号iが2で割り切れる場合は偶数番目の入力値であるlist[i]をansに加えます。

コメント