using static System.Math; using System; public class Hello { static void Main() { string[] line = Console.ReadLine().Trim().Split(' '); var n = int.Parse(line[0]); var s = int.Parse(line[1]); var b = int.Parse(line[2]); line = Console.ReadLine().Trim().Split(' '); var h = Array.ConvertAll(line, int.Parse); getAns(n, s, b, h); } static void getAns(int n, int s, int b, int[] h) { if (n == 1) { Console.WriteLine("Yes"); return; } var nows = s; var nowh = h[0]; for (int i = 1; i < n; i++) { if (h[i] > nowh) { var d = h[i] - nowh; var needs = (d + b - 1) / b; nows -= needs; if (nows < 0) { Console.WriteLine("No"); return; } } nows = s; nowh = Max(nowh, h[i]); } Console.WriteLine("Yes"); } }