好景不长,我又倒头就“睡”了
查看原帖
好景不长,我又倒头就“睡”了
1295445
wzj9876楼主2024/7/7 16:09

最近我正在备考csp-j,在测数据时它(我的程序)直接倒反天罡,给我来了个10。我用的贪心,请大佬教教我。下面是代码:

#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;
}

2024/7/7 16:09
加载中...