rt, J335,S365.....
J:100+50+100+85
S:100+100+65+100......
J T2 求调
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5+5;
int n, a[N], b[N], minn[N], sum[N], ans, d;
void solve(int r){
if(r<1)return;
int tmp=minn[r];
int x=sum[tmp-1]%d, c=sum[min(r,n-1)]-sum[tmp-1];
ans+=((c-x+d-1)/d)*b[tmp];
solve(tmp-1);
}
signed main(){
cin>>n>>d;
for(int i=1; i<n; i++)cin>>a[i];
for(int i=1; i<n; i++)sum[i]=sum[i-1]+a[i];
for(int i=1; i<=n; i++)cin>>b[i];
minn[1]=1;
for(int i=2; i<=n; i++){
if(b[i]<b[minn[i-1]])minn[i]=i;
else minn[i]=minn[i-1];
}
solve(n);
cout<<ans<<endl;
return 0;
}