AtCoder Beginner Contest

【pythonでABC163を解説】B - Homework

問題概要

問題ページ

問題文

高橋君の夏休みは \(N\) 日間です。

夏休みの宿題が \(M\) 個出されており、\(i\) 番目の宿題をやるには \(A_i\) 日間かかります。

複数の宿題を同じ日にやることはできず、また、宿題をやる日には遊ぶことができません。

夏休み中に全ての宿題を終わらせるとき、最大何日間遊ぶことができますか?

ただし、夏休み中に全ての宿題を終わらせることができないときは、かわりに -1 を出力してください。

制約

  • \(1 \leq N \leq 10^6\)
  • \(1 \leq M \leq 10^4\)
  • \(1 \leq A_i \leq 10^4\)

問題の考察

ACコード

import sys


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


if __name__ == '__main__':
    solve()

プログラミング

-AtCoder Beginner Contest
-