玄笙依旧怜 • 1个月前
#include <iostream>
#include <cstdio>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
#include <sstream>
#include <stack>
using namespace std;
long long v[100001] = {}, a[100001] = {};
int main() {//0shi48
//freopen("wenjian.in","r",stdin);
//freopen("wenjian.out","w",stdout);
long long n, d; //站点数,距离/升
cin >> n >> d;
//两点距离
for (int i = 0; i < n - 1; i++) {
cin >> v[i];
}
//不同加油价格
for (int i = 0; i < n; i++) {
cin >> a[i];
}
long long k = a[0], ans = 0; //最小价格;总价格
for (int i = 0; i < n; i++) {
if (a[i] < k) {
k = a[i];
}
long double oil = ceil(v[i] * 1.0 / d);
ans += k * oil;
v[i + 1] = v[i + 1] - (oil * d - v[i]);
oil = 0;
}
cout << ans;
return 0;
}
评论:
请先登录,才能进行评论