AT_arc029_2 [ARC029B] 高橋君と禁断の書
Description
[problemUrl]: https://atcoder.jp/contests/arc029/tasks/arc029_2
高橋君は、部屋の整理をしていた。
高橋君が部屋の整理を行っているとき、中学生くらいのときに書いた「禁断の書」(という題名のノート)が出てきた!
数ページ見ただけでも(書いた本人が)悶絶するほどに人には見せられない「禁断」のノートであるため、箱にしまっちゃうことにした。
ノートは底面が縦 $ A $ センチ、横 $ B $ センチの長方形で高さ (厚み) がそれほどない直方体の形状をしている。
箱は $ N $ 個あり、それらには $ 1 $ から $ N $ までの番号がつけられている。箱 $ i\ (1\ ≦\ i\ ≦\ N) $ の形状は、箱の内側の底面が縦 $ C_i $ センチ、横 $ D_i $ センチの長方形で、高さがノートの厚みよりわずかに大きいくらいの直方体の形をしている。
高橋君は几帳面なため、ノートの底面と箱の内側の底面を一致させて収納しなければ気が済まない。すなわち高橋君にとって、箱 $ i $ にノートが入る必要十分条件は、平面上で縦 $ A $ センチ、横 $ B $ センチの長方形 (ノートを表す長方形) を適切に回転および平行移動させて、同一平面上にある縦 $ C_i $ センチ、横 $ D_i $ センチの長方形の内部に完全に収まるように配置できるということである。
どの箱に収納するか吟味する前に、どの箱に収納可能かを調べなければならない。それぞれの箱について、ノートが入るか入らないかを判定するプログラムを作成せよ。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ A $ $ B $ $ N $ $ C_1 $ $ D_1 $ $ C_2 $ $ D_2 $ : $ C_N $ $ D_N $
- $ 1 $ 行目には、ノートの形状に関する情報を表す $ 2 $ つの整数 $ A\ (1\ ≦\ A\ ≦\ 300,000) $ と $ B\ (1\ ≦\ B\ ≦\ 300,000) $ が空白区切りで与えられる。これはノートを表す長方形の縦の長さが $ A $ センチで横の長さが $ B $ センチであることを表す。
- $ 2 $ 行目には、箱の個数を表す整数 $ N\ (1\ ≦\ N\ ≦\ 5,000) $ が与えられる。
- $ 3 $ 行目から $ N $ 行では、箱の形状に関する情報が与えられる。$ N $ 行のうち $ i $ 行目では、$ 2 $ つの整数 $ C_i\ (1\ ≦\ C_i\ ≦\ 300,000) $ と $ D_i\ (1\ ≦\ D_i\ ≦\ 300,000) $ が空白区切りで与えられる。これは、箱 $ i $ の内側の底面が縦 $ C_i $ センチ、横 $ D_i $ センチの長方形であることを表す。
- 採点で用いられるすべての入力において、すべての箱 $ i\ (1\ ≦\ i\ ≦\ N) $ に関して $ C_i $ および $ D_i $ の値を $ 0.01 $ だけ増減させても、ノートが箱 $ i $ に入るか入らないかは変化しない。
Output Format
$ N $ 行にわたって出力せよ。
$ i\ (1\ ≦\ i\ ≦\ N) $ 行目には、箱 $ i $ にノートが入るなら文字列 `YES` を、入らないなら文字列 `NO` を出力せよ。出力の末尾にも改行を入れること。
Explanation/Hint
### Sample Explanation 1
\- 箱 $ 1 $ には、例えば下図のように配置することでノートを入れることができる (図中の斜線部分がノート)。 !\[\](/img/arc/029/2-1.png) - 箱 $ 2 $ には、どのように配置してもノートを入れることができない。 - 箱 $ 3 $ には、例えば下図のように配置することでノートを入れることができる (図中の斜線部分がノート)。 !\[\](/img/arc/029/2-2.png)