D. Fight with Monsters

int main(){
    // input
    ll N,A,B,K;
    cin>>N>>A>>B>>K;

    VI H(N);
    rep(i, N) cin >> H[i];

    // 必要な魔法の回数
    auto f = [&](ll h){
      h %= (A+B);
      if(h==0) h+=A+B;
      if(h<=A) return 0LL;
      ll n = (h+A-1)/A; // Aで何回殴ればいいか
      return n-1;
    };

    // 回数配列
    VI V;
    for(ll h : H){
      ll num = f(h);
      V.push_back(num);
    }
    SORT(V);

    ll cnt=0;
    ll sum=0;
    rep(i,N){
      if(sum+V[i]>K){
        p(cnt);
        return 0;
      }else{
        sum += V[i];
        cnt++;
      }
    }

    p(N);
    return 0;
}