rt,测样例得到了-73393679981981063这个结果
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n,d;
cin>>n>>d;
long long dis[n+1],price[n+1],totp=0,i=1;
long long mins=0,todis[n+1],topri[n+1];
for(i=1;i<n;i++){
cin>>dis[i];
todis[i]=todis[i-1]+dis[i];
topri[i+1]=(todis[i]-1+d)/d;
}
price[0]=9999999999;
for(i=1;i<=n;i++){
cin>>price[i];
if(i==n)price[i]=0;
if(price[i]<price[mins]){
totp+=(topri[i]-topri[mins])*price[mins];
mins=i;
}
}
cout<<totp;
return 0;
}