#include <bits/stdc++.h>
#define FOR(i,a,n) for(ll i=(ll)a;i<(ll)n;i++)
#define rep(i,n) FOR(i,0,n)
using namespace std;
typedef long long ll;

ll n,m,v,p,a[100000];

bool f(ll x){
    if(x<p)return 1;
    if(a[x]+m<a[p-1])return 0;
    ll y=((p-1)+(n-x))*m;
    FOR(i,p-1,x)y+=a[x]+m-a[i];
    return y>=m*v;
}

int main(){
    cin>>n>>m>>v>>p;
    rep(i,n)cin>>a[i];
    sort(a,a+n,greater<ll>());

    ll l=0,r=n,mid;
    while(l+1<r){
        mid=(l+r)/2;
        if(f(mid))l=mid;
        else r=mid;
    }
    cout<<r<<endl;
}