#include <cstdio>
#include <algorithm>

int n, m, v, p;
int A[100000];
long long int S[100000];

int main(){
  scanf("%d%d%d%d", &n, &m, &v, &p);
  for(int i = 0; i < n; i++) scanf("%d",A+i);
  std::sort(A, A+n);
  for(int i = 1; i < n; i++) S[i] = S[i-1] + A[i];

  int lb, ub;
  lb = -1;
  ub = n-p;
  while(ub - lb > 1){
    int mid = (lb + ub) / 2;
    if((long long) A[mid] + m < A[n-p] || (long long) m * (v - (mid+1) - (p-1)) + (S[n-p] - S[mid]) > (long long) (n-p - mid) * (A[mid] + m)) lb = mid;
    else ub = mid;
  }

  printf("%d\n", n-ub);


  return 0;
}
