程序员王斌爱玩原神 • 1个月前
using namespace std; long long i, n, d, v[100005], a[100005], sum[100005], num = 0, k = 1, m, minn = 0; int main() {
cin >> n >> d;
for (i = 1; i < n; i++) {
cin >> v[i];
}
for (i = 1; i <= n; i++) {
cin >> a[i];
}
minn = a[1];
for (i = 1; i < n; i++) {
if (a[i] >= minn) {
sum[k] += v[i];
} else {
k = i;
minn = a[i];
sum[i] += v[i];
}
}
for (i = 1; i <= n; i++) {
num += ceil(sum[i] * 1.0 / d) * a[i];
m += ceil(sum[i] * 1.0 / d) * d - sum[i];
if (m >= d) {
m -= d;
num -= a[i];
}
}
cout << num;
return 0;
}
评论:
请先登录,才能进行评论