不知道为什么 WA 了
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
#define int long long
int n, x, p, q, t[100010];
signed main() {
cin >> n >> x >> p >> q;
for (int i = 1; i <= n; i++) cin >> t[i];
long double r = p * 1.0 / q;
int sle = 0, j = 0, i = 1, w = 0;
while (j < n) {
w = 0;
while (j < n && (w + t[j + 1] < x) && (sle + x - w - t[j + 1]) >= r * x * i) {
w += t[j + 1];
j++;
}
i++;
sle += x - w;
int k = ceil((sle - r * x * i - t[j + 1] + x) * 1.0 / (x * (r - 1)));
k = max(k, 0ll);
i += k;
sle += x * k;
}
cout << i - 1;
return 0;
}