A問題 Counting
1 2 3 4 5 |
a,b = map(int,input().split()) if b>a: print(b-a+1) else: print(0) |
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を出力します。
解答
1 2 3 4 5 6 7 8 9 10 11 12 |
n,x = map(int, input().split()) list = list(map(int, input().split())) ans = 0 for i in range(n): if i%2!=0: ans += list[i]-1 #[1] else: ans += list[i] #[2] if x >= ans: #[3] print('Yes') else: print('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に加えます。
コメント