错了五个点超时两个
#include<bits/stdc++.h>
using namespace std;
long long n,x,s;
double p,q;
long long t[1000100];
int main(){
cin>>n>>x>>p>>q;
for(int i=1;i<=n;i++){
cin>>t[i];
}
double pp=p/q;
long long s=0,z=1,ti=1,sheng;
t[n+1]=9999999;
while(z<=n){
if(x*ti*pp-s<=0){
sheng=x-1;
s+=1;
}else{
if(x-(x*ti*pp-s)%1!=0){
sheng=(x-(x*ti*pp-s))/1+1;
}else{
sheng=(x*ti*pp-s);
}
s+=(x-sheng);
}
while(sheng>=t[z]){
sheng-=t[z];
z++;
}
s+=sheng;
ti++;
}
cout<<ti-1;
return 0;
}