Replace for X Problem Code: REPLESX Codechef Solution

 #include <bits/stdc++.h>
using namespace std;
int main() {  
  ios::sync_with_stdio(0);
  cin.tie(NULL);
  int t;
  cin>>t;
  while(t--){
    int n,x,p,k,ans=-1;
    cin>>n>>x>>p>>k;
    p--,k--;
    int a[400001];
    for(int i=0;i<n;i++)
      cin>>a[i];
    sort(a,a+n);
    int pp=lower_bound(a,a+n,x)-a;
    int pp2=upper_bound(a,a+n,x)-a;
    pp2--;
    if(a[p]==x)ans=0;
    else if(p>=k&&pp>p){
      ans=pp-p;
    }
    else if(pp2<p&&p<=k){
      ans=p-pp2;
    }
    cout<<ans<<'\n';
  }
}

Comments