use proconio::input; use proconio::fastout; #[fastout] #[allow(non_snake_case)] fn main() { input! { (N, S, B): (usize, usize, usize), H: [usize; N], } assert!(1 <= N && N <= 200_000); assert!(1 <= S && S <= 1_000); assert!(1 <= B && B <= 1_000_000_000); assert!(H.iter().all(|&x| x <= 1_000_000_000)); let mut rev = H[0]; for i in 1..N { if rev >= H[i] { continue; } let sub = H[i] - rev; if (sub + B - 1) / B > S { println!("No"); return; } rev = H[i]; } println!("Yes"); }