rt,考场样例全过但不知为何挂分
#include<bits/stdc++.h>
#define ll long long
using namespace std;
namespace abcdq{
ll read(){
int x=0;char ch=getchar();
while(!isdigit(ch)) ch=getchar();
while(isdigit(ch)) x=x*10+ch-48,ch=getchar();
return x;
}
void write(ll x){
if(x>9) write(x/10);
putchar(x%10+48);
}
const int maxn=1e5+5;
ll v[maxn],a[maxn];
void main(){
#ifndef DEBUG
freopen("road.in","r",stdin);
freopen("road.out","w",stdout);
#endif
ll n=read(),d=read(),sum=0;
for(int i=1;i<n;i++)
v[i]=read();
for(int i=1;i<=n;i++)
a[i]=read();
ll minv=a[1],sheng=0;
for(int i=1;i<n;i++){
minv=min(minv,a[i]);
sum+=(((v[i]-sheng)/d)+(bool)((v[i]-sheng)%d))*minv;
sheng=(((v[i]-sheng)/d)+(bool)((v[i]-sheng)%d))*d+sheng-v[i];
}
write(sum);
}
}
int main(){
abcdq::main();
}