問題概要
問題ページ
-
B - Magic 3
問題ページへ移動する
問題文
魔法使いの高橋君は魔物と戦っています。
高橋君は \(N\) 種類の呪文を使うことができます。
\(i\) 番目の呪文は詠唱に \(X_i\) 秒かかり、威力は \(Y_i\) です。
ただし、この魔物は強いので、詠唱に \(S\) 秒以上かかる呪文や、威力が \(D\) 以下の呪文ではダメージを与えられません。
また、呪文以外の方法でダメージを与えることもできません。
高橋君は魔物にダメージを与えられるでしょうか?
制約
- 入力は全て整数
- \(1 ≤ N ≤ 100\)
- \(1 ≤ X_i ≤ 10^9\)
- \(1 ≤ Y_i ≤ 10^9\)
- \(1 ≤ S ≤ 10^9\)
- \(1 ≤ D ≤ 10^9\)
問題の考察
高橋君が使う呪文のうち、詠唱に \(S\) 秒以上かかる呪文や、威力が \(D\) 以下の呪文ではダメージが与えられません。
ダメージを与える条件
- 詠唱時間が \(S\) 秒未満
- 威力が\(\D)超
未満・超・以下・以上に気を付けないとif
文の分岐条件を間違えてしまいます。
for
文中で条件に注意しながら、高橋君が使える呪文でダメージが与えられるものがあるか判定します。
たびすけ
未満・超・以下・以上に不安がある人は確認しておきましょう!
ACコード
import sys
def solve():
input = sys.stdin.readline
mod = 10 ** 9 + 7
n, s, d = list(map(int, input().rstrip('\n').split()))
for i in range(n):
x, y = list(map(int, input().rstrip('\n').split()))
if x < s and y > d:
print("Yes")
exit()
print("No")
if __name__ == '__main__':
solve()