下面是南通

程序员王斌爱玩原神  •  1个月前


include <bits/stdc++.h>

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;

}


评论:

请先登录,才能进行评论