AtCoder ABC 115 B – Christmas Eve Eve Python解説

スポンサーリンク

Christmas Eve Eve

高羽氏は、デパートで N 個の品物を買おうとしています。

彼は割引券を持っており、N 個のうち最も定価が高い品物 1 個を定価の半額で買うことができます。
残りの N-1 個の品物に対しては定価を支払います。支払金額は合計でいくらになるでしょうか?

AtCoder Beginner Contest 「Christmas Eve Eve」

最も定価が高い品物を半額にし、あとの品物は定価を足すだけです。最も定価が高い品物に関しては、配列に入れた後、配列をソートしたいと思います。

n = int(input())
p = [int(input()) for _ in range(n)]

p = sorted(p)
p[-1] = p[-1] / 2

total = 0

for i in p:
    total += int(i)
    
print(total)

配列pに品物を入れてソートをしたら、p[-1]で最も定価が高い品物を取り出し半額にしています。
あとは支払金額をtotalに加えていけば正解になります。

AtCoderB問題

Posted by cheese