Edit

【pythonでABC151を解説】B - Achieve the Goal

問題概要

問題ページ

B - Achieve the Goal
B - Achieve the Goal

問題ページへ移動する

問題文

高橋君は \(N\) 科目のテストを受けます。各テストは \(K\) 点満点であり、点数はそれぞれ \(0\) 以上の整数です。

高橋君は \(N-1\) 科目のテストを既に受けており、\(i\) 番目の科目のテストの点数は \(A_i\) 点でした。

高橋君の目標は、\(N\) 科目のテストの平均点を \(M\) 点以上にすることです。

高橋君が目標を達成するためには、最後のテストで最低何点取る必要があるか出力してください。

達成不可能である場合は、代わりに -1 を出力してください。

制約

  • \(2 \leq N \leq 100\)
  • \(1 \leq K \leq 100\)
  • \(1 \leq M \leq K\)
  • \(0 \leq A_i \leq K\)
  • 入力中のすべての値は整数である。

問題の考察

ACコード

import sys


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    n, k, m = list(map(int, input().rstrip('\n').split()))
    a = list(map(int, input().rstrip('\n').split()))
    s = sum(a)
    dif = n * m - s
    print(max(0, dif) if dif <= k else -1)


if __name__ == '__main__':
    solve()

-Edit