ABC115 B - Christmas Eve Eve

備忘録

問題

atcoder.jp

回答

import sys
import os


def main():
    if os.getenv("LOCAL"):
        sys.stdin = open("input.txt", "r")

    N = int(sys.stdin.readline().rstrip())
    P = [int(sys.stdin.readline().rstrip()) for i in range(N)]

    print(sum(P) - max(P) // 2)


if __name__ == '__main__':
    main()

考え方

値段の配列(P)を一旦合計する。
その後、最も大きい数字から2で割った数字を引くことで、
一つだけ半額という条件を満たすことが出来る。
注意点として、計算の際、
print(sum(P) - max(P) // 2)のように切り捨て除算(//)を使用しないと、
小数点以下(例:15950.0)も表示されるためWAになる。