
def solve(n, m, v, p, a)
  a = a.sort.reverse
  a.unshift nil

  xmin = 0
  xmax = n + 1
  loop do
    break if xmin + 1 == xmax
    x = ((xmin + xmax) / 2).floor
    r = if x <= p
          true
        elsif a[x] + m < a[p]
          false
        else
          b = [0]
          1.upto(n) do |i|
            if p <= i && i < x
              b[i] = a[x] + m - a[i]
            else
              b[i] = m
            end
          end
          b.inject(:+) >= m * v
        end

    if r
      xmin = x
    else
      xmax = x
    end
  end
  return xmin
end

n, m, v, p = gets.split.map(&:to_i)
a = gets.split.map(&:to_i)
puts solve(n, m, v, p, a)
