15分!?!?
查看原帖
15分!?!?
1116551
liuweida0330楼主2024/9/29 13:03
 #include<bits/stdc++.h>
using namespace std;
long long num=0,n,d,v[100005],a[100005],b=0,c=0,cnt=0,g=0;
int main(){
	cin>>n>>d;
	for(int i=1;i<=n-1;i++){
	cin>>v[i];
	num+=v[i];
	if(v[1]>=v[i])
	c=1;
	}
	for(int i=1;i<=n;i++)
	cin>>a[i];
	if(c==0&&num%d==0){
		cout<<num/d*a[1];
		return 0;
	}
	if(c==0&&num%d!=0){
	cout<<(num/d+1)*a[1];
	return 0;
	}
	while(num){
		b++;
		sort(a+1,a+b+1);
		if((v[b]-g)%d==0){
			cnt+=((v[b]-g)/d)*a[1];
			g=0;
		}
		else{
		cnt+=((v[b]-g)/d+1)*a[1];
		g=((v[b]-g)/d+1)*d-v[b];
	}                            
		num-=v[b];
	}
	cout<<cnt;
	return 0;
}```
2024/9/29 13:03
加载中...