思路有什么问题吗?求改正
#include<iostream>
#include<cstdio>
using namespace std;
long long n,a[100005],d,x,p=0x3f3f3f3f,ans;
long long f(long long a,long long b){
x=0;
if(a%b==0)return a/b;
x=a/b*b+b-a;
return a/b+1;
}
int main(){
cin>>n>>d;
for(long long i=1;i<n;i++){
cin>>a[i];
}
for(long long i=1,pf;i<n;i++){
cin>>pf;
p=min(p,pf);
a[i]-=x;
ans+=f(a[i],d)*p;
}
cout<<ans;
return 0;
}