CSP-J2-T2 求调
  • 板块学术版
  • 楼主YMnRb
  • 当前回复13
  • 已保存回复13
  • 发布时间2023/10/24 21:29
  • 上次更新2023/11/2 11:31:48
查看原帖
CSP-J2-T2 求调
812740
YMnRb楼主2023/10/24 21:29

rt\small rt

#include <cstdio>
int n, d, v[100005] = {}, a[100005], nxt[100005], dist = 0, i, last = 0;
unsigned long long sum = 0;
int main()
{
// 	freopen("road.in", "r", stdin);
// 	freopen("road.out", "w", stdout);
	scanf("%d %d", &n, &d);
	for (i = 1; i < n; ++i)
		scanf("%d", v + i), v[i] += v[i - 1];
	for (i = 0; i < n; ++i)
	{
		scanf("%d", a + i);
		if (a[i] < a[last])
			nxt[last] = i, last = i;
	}
	nxt[last] = n - 1;
	nxt[n - 1] = -1;
	for (i = 0; nxt[i] != -1; i = nxt[i])
		sum += (v[nxt[i]] - v[i] + d - 1 - dist) / d * a[i],
		dist = (v[nxt[i]] - v[i] + d - 1 - dist) / d * d - v[nxt[i]] + v[i] + dist;
	printf("%llu", sum);
	return 0;
}

CSP-J2 T2 求调

2023/10/24 21:29
加载中...