社区讨论

好景不长,我又倒头就“睡”了

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

讨论操作

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

当前回复
3 条
当前快照
1 份
快照标识符
@lyb9x1jq
此快照首次捕获于
2024/07/07 16:10
2 年前
此快照最后确认于
2024/07/07 18:07
2 年前
查看原帖
最近我正在备考csp-j,在测数据时它(我的程序)直接倒反天罡,给我来了个10。我用的贪心,请大佬教教我。下面是代码:
CPP
#include "iostream"
#include "cmath"
using namespace std;
const unsigned long long N=1e5+7;
int n,d;
int RoadLong[N],cost[N];
long long exist = 0,ans=0;
int minCost;
int main() {
	cin>>n>>d;
	for(int i=1;i<n;i++)cin>>RoadLong[i];
	for(int i=0;i<n;i++)cin>>cost[i];
	int minCost=cost[1];
	for(int i=1;i<n;i++) {
        if(exist>=RoadLong[i]) {
            exist-=RoadLong[i];
            continue;
        }
        RoadLong[i]-=exist;
        minCost=min(minCost,cost[i]);
        int v=RoadLong[i]/d;
        if(RoadLong[i]%d>0)v++;
        exist=v*d-RoadLong[i];
        ans=v*minCost;
	}
	cout<<ans<<endl;
	return 0;
}

回复

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

正在加载回复...