Masala #FPDJPBKPYG
Ustunlar
N ta ustunlar mavjud bo'lib, ular bir-birining yonma-yon joylashgan. Ustunlar 1 dan \(N\) gacha raqamlangan. Har bir ustunning balandligi \(Hᵢ\) bilan berilgan.
Ismoil birinchi ustundan kuchi \(S\) bilan boshlaydi. U N-chi ustunga yetib borishi kerak.
Ismoil quyidagi harakatlardan birini tanlashi mumkin:
- Kuchini 1 ga kamaytirib, balandlikni \(B\) ga oshirish. Bu harakatni faqat kuchi 0 bo'lmagan holda amalga oshirish mumkin.
- Bir ustundan keyingi ustunga ko'chish va balandlikni o'zgartirmasdan ko'chish. Biroq, ko'chish uchun joriy ustunning balandligi kelgusi ustunning balandligidan yuqori yoki teng bo'lishi kerak.
Ismoil ning maqsadi: oxirgi ustungaga (N-chi) yetib borish. U ushbu harakatlardan birini bir necha marta takrorlash orqali bu maqsadga erishishi mumkin.
Birinchi qatorda 3 butun son N, S, B lar beriladi. \((1 ≤ N ≤ 2*10^5, 1 ≤ S ≤ 10^3, 1 ≤ B ≤ 10^9)\)
Bu \(N\) ta ustunlarning soni, \(S\) kuchining boshlang'ich qiymati va \(B\) balandlikni oshirish miqdori.
Ikkinchi qatorda \(N\) ta butun son \(H₁, H₂, ..., Hₙ\) \((0 ≤ Hᵢ ≤ 10^9)\) beriladi. Bu ustunlarning balandliklarini ifodalaydi.
Agar yetib bora olsa “Yes”, aks holda “No” ni chop eting.
# | input.txt | output.txt |
---|---|---|
1 |
3 3 12 0 10 30 |
Yes |
2 |
4 1 100 0 100 200 0 |
No |
3 |
10 5 1 1 0 0 0 0 0 0 0 0 7 |
No |