AtCoder ABC 125 B – Resale Python解説

スポンサーリンク

Resale

N 個の宝石があり、i 番目の宝石の価値は Vi です。
あなたはこれらの宝石の中からいくつかを選んで手に入れます。
このとき、1 つも選ばなくとも、全て選んでも構いません。
ただし、i 番目の宝石を手に入れる場合コスト Ci を支払わなければいけません。
手に入れた宝石の価値の合計を X、支払ったコストの合計を Y とします。
XY の最大値を求めてください。

AtCoder Beginner Contest 「Resale」

宝石の価値がコストより高い物の合計を出せばよいです。

n = int(input())

ans = 0

v = list(map(int, input().split()))
c = list(map(int, input().split()))

for i in range(n):
    if v[i] - c[i] > 0:
        ans += v[i] - c[i]
        
print(ans)

入力から与えられる宝石の価値を配列vに、同じく入力から与えれれるコストを配列cに入れます。
あとはfor文で宝石とコストの差分を求め、宝石の価値がコストを上回れば、差分をansに足していきます。

AtCoderB問題

Posted by cheese