csp-j t2哪里错了?
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
typedef long long ll;
ll a[N], m[N];
ll qz[N];
ll ans;
int main() {
//freopen我自己删了,为了不在洛谷上WA
int n;
ll d;
scanf("%d%lld", &n, &d);
ll sum = 0;
for (int i = 1; i < n; i++)
scanf("%lld", &a[i]), sum += a[i], qz[i] = qz[i - 1] + a[i];
ll min2 = N, id = 0;
for (int i = 1; i <= n; i++) {
scanf("%lld", &m[i]);
if (m[i] < min2) {
min2 = m[i];
id = i;
}
}
if (id == 1) {
if (sum % d == 0)
cout << sum / d * min2;
else
cout << (sum / d + 1) * min2;
return 0;
} else {
min2 = m[1], id = 1;
ll zou = 0;
for (int i = 2; i < n; i++) {
if (m[i] < min2) {
ll jl = qz[i - 1] - qz[id - 1];
if ((jl - zou) % d == 0)
ans += (jl - zou) / d * min2, zou = 0;
else
ans += ((jl - zou) / d + 1) * min2, zou = zou - jl + ((jl - zou) / d + 1) * d;
min2 = m[i];
id = i;
}
}
ll jl = qz[n - 1] - qz[id - 1];
if ((jl - zou) % d == 0)
ans += (jl - zou) / d * min2;
else
ans += ((jl - zou) / d + 1) * min2;
cout << ans;
}
return 0;
}