i need help, with this code i get 50/100:
#include <bits/stdc++.h>
using namespace std;
#define MAXN 200000
int N, K, Q, P;
int V[MAXN];
int main() {
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
assert(2 == scanf("%d%d", &N, &K));
assert(2 == scanf("%d%d", &P, &Q));
for(int i=0; i<N; i++)
assert(1 == scanf("%d", &V[i]));
int result=0;
sort(V,V+N);
if(K==N || P==Q || N==1){
result=ceil((float)V[N-1]/(float)P);
}else{
if(P>Q){
int tmp=P;
P=Q;
Q=tmp;
K=N-K;
}
do{
result++;
for(int i=0;i<K;i++)
V[i]=V[i]-P;
for(int i=K;i<N;i++)
V[i]=V[i]-Q;
if(V[K-1]>V[K]) sort(V,V+N);
}while(V[N-1]>0);
}
printf("%d\n", result);
return 0;
}