#include #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define all(x) (x).begin(), (x).end() typedef long long ll; using namespace std; int main(void) { ll N, S, B; cin >> N >> S >> B; vector H(N); rep(i, N) cin >> H[i]; ll ls = S, lh = H[0]; rep(i, N-1) { if (H[i+1] - lh <= ls * B) { ll ns = (H[i+1] - lh) / B; if ((H[i+1] - lh) % B != 0) ns++; lh += ns * B; ls -= ns; } else { ls = S; lh = H[i]; } if (H[i+1] - lh <= ls * B) { ll ns = (H[i+1] - lh) / B; if ((H[i+1] - lh) % B != 0) ns++; lh += ns * B; ls -= ns; } else { cout << "No" << endl; return 0; } } cout << "Yes" << endl; return 0; }