赛时代码
#include<bits/stdc++.h>
#define MAXN int(1e5)+5
#define INF INT_MAX
typedef long long ll;
using namespace std;
ll n,d,mn=INF,v[MAXN],a,ans,s;
int main(){
freopen("road.in","r",stdin);
freopen("road.out","w",stdout);
scanf("%lld%lld",&n,&d);
for(ll i=1;i<n;i++)scanf("%lld",&v[i]);
for(ll i=1;i<n;i++){
scanf("%lld",&a);
mn = min(mn,a);
ans+=(((v[i]-s)/d)+((v[i]-s)%d!=0))*mn;
s=(d-(v[i]-s)%d)%d;
}
scanf("%lld",&a);
printf("%lld",ans);
return 0;
}
Luogu民间数据: 35pts
CCF官方数据: 100pts
没判断多买的油没用完的情况,随机数都A不了,数据真的好水