暴力 70 正解 0 分/dk
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 1e5 + 10;
int n, k;
ll x, p, q;
int a[MAXN], ans;
ll sum, t, nxt;
int main() {
scanf("%d%lld%lld%lld", &n, &x, &p, &q);
for (int i = 1; i <= n; i++) scanf("%d", &a[i]); k = 1;
while (1) {
ans++, sum = 0;
while (sum + a[k] < x && (t + x - sum - a[k]) * q >= p * ans * x && k <= n) sum += a[k], k++;
if (k > n) break;
t += x - sum;
nxt = ((p - q) * x + q * (a[k] - t) + p * ans * x - 1) / ((q - p) * x) + 1;
ans += nxt, t += nxt * x;
}
printf("%d", ans);
}