社区讨论
CSP-J T2 40分求助
灌水区参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lo137z1g
- 此快照首次捕获于
- 2023/10/22 14:28 2 年前
- 此快照最后确认于
- 2023/11/02 11:54 2 年前
CPP
#include <bits/stdc++.h>
using namespace std;
int v[100005], a[100005], n, d, pre[100005];
int main() {
//freopen("road.in", "r", stdin);
//freopen("road.out", "w", stdout);
cin >> n >> d;
for (int i = 1; i < n; i++) {
cin >> v[i];
pre[i+1] = pre[i] + v[i];
}
for (int i = 1; i <= n; i++) cin >> a[i];
int tot = ceil((double)pre[n] / d);
int km = 0, cnt = 0;
for (int i = 1; i < n; i++) {
if (km < v[i]) {
int pos;
for (pos = i+1; pos < n; pos++)
if (a[pos] < a[i])
break;
int dis = pre[pos] - pre[i];
int o = ceil(double(dis - km) / d);
cnt += a[i]*o;
km += d*o;
}
km -= v[i];
}
cout << cnt << endl;
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...