問題概要
問題ページ
-
B - Common Raccoon vs Monster
問題ページへ移動する
問題文
アライグマはモンスターと戦っています。
モンスターの体力は \(H\) です。
アライグマは \(N\) 種類の必殺技を使うことができ、\(i\) 番目の必殺技を使うとモンスターの体力を \(A_i\) 減らすことができます。
必殺技を使う以外の方法でモンスターの体力を減らすことはできません。
モンスターの体力を \(0\) 以下にすればアライグマの勝ちです。
アライグマが同じ必殺技を \(2\) 度以上使うことなくモンスターに勝つことができるなら Yes
を、できないなら No
を出力してください。
制約
- \(1 \leq H \leq 10^9\)
- \(1 \leq N \leq 10^5\)
- \(1 \leq A_i \leq 10^4\)
- 入力中のすべての値は整数である。
問題の考察
モンスターの体力を減らすには必殺技を使うしかないが、必殺技の回数が制限されているのでその制限内でモンスターを倒せるかという問題。
各\( A_i\)の合計値がモンスターの体力 \(H\)以上であればモンスターを倒すことができる。
問題もコーディングも難しいくはない。
たびすけ
sum
とif
を使って条件を満たしているか正確にコーディングしよう。ACコード
import sys
def solve():
input = sys.stdin.readline
mod = 10 ** 9 + 7
h, n = list(map(int, input().rstrip('\n').split()))
a = list(map(int, input().rstrip('\n').split()))
print("Yes" if sum(a) >= h else "No")
if __name__ == '__main__':
solve()