社区讨论

求助!只有五分

P9749[CSP-J 2023] 公路参与者 2已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@lz23t5hz
此快照首次捕获于
2024/07/26 10:49
2 年前
此快照最后确认于
2024/07/26 11:50
2 年前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
typedef long long l;
l n, v[100005], a[100005], d, dis, money, mn;
deque<pair<l, l>> q;
int main() {
	cin >> n >> d;
	for (int i = 1; i < n; i ++) {
		cin >> v[i];
	}
	for (int i = 1; i <= n; i ++) {
		cin >> a[i];
	}
	q.push_back(pair<l, l>{0, a[1]});
	for (int i = 2; i <= n; i ++) {
		dis += v[i-1];
		if (q.back().second > a[i]) {
			q.push_back(pair<l, l>{dis, a[i]});
			dis = 0;
		}
	}
    while (!q.empty()) {
        mn = q.front().second;
        q.pop_front();
        money += ceil((double)q.front().first / d) * mn;
    }
    cout << money << endl;
	return 0;
}

回复

6 条回复,欢迎继续交流。

正在加载回复...