可爱的代码

玄笙依旧怜  •  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;
}

评论:

请先登录,才能进行评论