Orz ,蒟蒻求助(玄关?
#include<bits/stdc++.h>
#include<unistd.h>
using namespace std;
const int N=1e5+10;
int n,d;
long long v[N];
long long a[N];
double L;
long long ans;
int main(){
freopen("hh.in","r",stdin);
cin>>n>>d;
for(int i=1;i<n;i++)cin>>v[i];
for(int i=1;i<=n;i++)cin>>a[i];
a[n]=0;
int i=1;
while(i<n){
long long l=0;
for(int j=i+1;j<=n;j++){
l+=v[j-1];
if(a[j]<a[i]){
double L1=ceil((l-L*d)/(double)d);
ans+=L1*a[i];
L=((L+L1)*d-l)/(double)d;
i=j;
break;
}
cout<<j;
}
cout<<endl<<i;
sleep(10);
}cout<<ans;
return 0;
}