Time Limit: 2 sec / Memory Limit: 1024 MB
配点: 400 点
問題文
AtCoder王国の王立問題工房でABC管理官の座に就いたキザハシ君は、浮かれるあまり仕事を引き受けすぎてしまいました。
現在の時刻は 0 です。キザハシ君は 1 から N までの番号が振られた N 件の仕事を持っています。
キザハシ君が仕事 i を終えるには A_i 単位時間かかります。また、仕事 i の〆切は時刻 B_i であり、これまでに仕事を終わらせる必要があります。時刻 B_i ちょうどに仕事 i を終わらせてもかまいません。
キザハシ君は 2 件以上の仕事を同時にすることはできませんが、ある仕事を終わらせた直後に別の仕事を始めることはできます。
キザハシ君はすべての仕事を〆切までに終わらせることができるでしょうか。可能ならば Yes
、不可能ならば No
を出力してください。
制約
- 入力はすべて整数
- 1 \leq N \leq 2 \times 10^5
- 1 \leq A_i, B_i \leq 10^9 (1 \leq i \leq N)
入力
入力は以下の形式で標準入力から与えられます。
N A_1 B_1 . . . A_N B_N
出力
全ての仕事を〆切までに終わらせることが可能ならば Yes
、不可能ならば No
を出力してください。
入力例 1
5 2 4 1 9 1 8 4 9 3 12
出力例 1
Yes
たとえば以下の順番で仕事を行うことで、すべての仕事を達成できます。
- 時刻 0 から 1 までの間、仕事 2 を行う。
- 時刻 1 から 3 までの間、仕事 1 を行う。
- 時刻 3 から 7 までの間、仕事 4 を行う。
- 時刻 7 から 8 までの間、仕事 3 を行う。
- 時刻 8 から 11 までの間、仕事 5 を行う。
仕事 3 は〆切である時刻 8 ちょうどに終えていますが、問題ないことに注意してください。
入力例 2
3 334 1000 334 1000 334 1000
出力例 2
No
どんな順番で仕事をしても、全ての仕事を間に合わせることはできません。
入力例 3
30 384 8895 1725 9791 170 1024 4 11105 2 6 578 1815 702 3352 143 5141 1420 6980 24 1602 849 999 76 7586 85 5570 444 4991 719 11090 470 10708 1137 4547 455 9003 110 9901 15 8578 368 3692 104 1286 3 4 366 12143 7 6649 610 2374 152 7324 4 7042 292 11386 334 5720
出力例 3
Yes
Score: 400 points
Problem Statement
Kizahashi, who was appointed as the administrator of ABC at National Problem Workshop in the Kingdom of AtCoder, got too excited and took on too many jobs.
Let the current time be time 0. Kizahashi has N jobs numbered 1 to N.
It takes A_i units of time for Kizahashi to complete Job i. The deadline for Job i is time B_i, and he must complete the job before or at this time.
Kizahashi cannot work on two or more jobs simultaneously, but when he completes a job, he can start working on another immediately.
Can Kizahashi complete all the jobs in time? If he can, print Yes
; if he cannot, print No
.
Constraints
- All values in input are integers.
- 1 \leq N \leq 2 \times 10^5
- 1 \leq A_i, B_i \leq 10^9 (1 \leq i \leq N)
Input
Input is given from Standard Input in the following format:
N A_1 B_1 . . . A_N B_N
Output
If Kizahashi can complete all the jobs in time, print Yes
; if he cannot, print No
.
Sample Input 1
5 2 4 1 9 1 8 4 9 3 12
Sample Output 1
Yes
He can complete all the jobs in time by, for example, doing them in the following order:
- Do Job 2 from time 0 to 1.
- Do Job 1 from time 1 to 3.
- Do Job 4 from time 3 to 7.
- Do Job 3 from time 7 to 8.
- Do Job 5 from time 8 to 11.
Note that it is fine to complete Job 3 exactly at the deadline, time 8.
Sample Input 2
3 334 1000 334 1000 334 1000
Sample Output 2
No
He cannot complete all the jobs in time, no matter what order he does them in.
Sample Input 3
30 384 8895 1725 9791 170 1024 4 11105 2 6 578 1815 702 3352 143 5141 1420 6980 24 1602 849 999 76 7586 85 5570 444 4991 719 11090 470 10708 1137 4547 455 9003 110 9901 15 8578 368 3692 104 1286 3 4 366 12143 7 6649 610 2374 152 7324 4 7042 292 11386 334 5720
Sample Output 3
Yes