【ABC163 B】「Homework」を解く【Python3】

「AtCoder」解説一覧へ

夏休み中にすべての宿題を終わらせられるとき、最大何日遊べるのかを求める問題です。

提出
n, m = map(int, input().split())
a = list(map(int, input().split()))

s = sum(a)
if n < s:
    print(-1)
else:
    print(n-s)

複数の宿題を同じ日にやることができないため、M個の宿題にかかる日数の合計が、そのまま、すべての宿題を終わらせる日程になります。

宿題をする順番は関係ないので、日数Aiを全部足し合わせます。

合計値が夏休みのN日間より多ければ、宿題は終わらないので「-1」、Nより少なければ「n-s」が答えになります。

夏休みが最大106日あるって、西暦より長いですね……。

【ABC163】解説記事リスト

「AtCoder」解説一覧に戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です