#include<bits/stdc++.h>
using namespace std;
#define int long long
int dd,ans;
int a[1000009];
int v[1000009];
signed main(){
int n,d;
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]=-1;
int t;
t=1;
while(1){
if(t==n){
cout<<ans<<endl;
return 0;
}
int sum;
sum=0;
for(int i=t+1;i<=n;i++){
sum+=v[i-1];
if(a[i]<a[t]){
sum-=dd;
if(sum%d){
ans+=(sum/d+1)*a[t];
dd=(sum/d+1)*d-sum;
}else{
ans+=sum/d*a[t];
dd=0;
}
t=i;
break;
}
}
}
return 0;
}
这是我的代码,洛谷测90,图灵测50,官方100(你好歹95证明这是错解)
你好,哦唉导航,我要到一个地方,能告诉我加油最少花费么?
%¥%%……¥……
你答案好像不对啊。
你知道的,我的设计者并不聪明,但是,据统计,这有 100% 的概率完全正确,毕竟这个世界没有能证伪这个方法的路线,我们怀疑你在外星。
我们落古星球,我们诱导笑吐零星球终止与熙熙哎符星哦唉导航的合作!!!