90求助awa
  • 板块学术版
  • 楼主happy_lion
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/9/24 19:21
  • 上次更新2024/9/24 21:04:07
查看原帖
90求助awa
1161278
happy_lion楼主2024/9/24 19:21

题目链接: [CSP-J 2023] 公路

#include<bits/stdc++.h>
using namespace std;
int w[100010];
int a[100010];
int main() {
	int n,d;
	cin >> n >> d;
	for (int i=1;i<n;i++) {
		cin >> w[i];
	}
	for (int i=1;i<=n;i++) {
		cin >> a[i];
	}
	long long q = 0;
	long long c = 0;
	for (int i=1;i<n;i++) {
		if (q >= w[i]) {
			q -= w[i];
			continue;
		}
		q += (w[i]/d)*d;
		c += (w[i]/d)*a[i];
		if (q < w[i]) {
			q += d;
			c += a[i];
		}
		int q1 = q;
		for (int j=1;j<n;j++) {
			q -= w[i+j-1];
			if (a[j+i] > a[i]) {
				q += (w[j+i]/d)*d;
				q1 += (w[j+i]/d)*d;
				c += (w[j+i]/d)*a[i];
				if (q < w[j+i]) {
					q += d;
					q1 += d;
					c += a[i];
				}
			} else {
				break;
			}
		}
		q = q1;
		q -= w[i];
		cout << i << "y" << q << endl;
	}
	cout << c;
}
2024/9/24 19:21
加载中...