#include<bits/stdc++.h>
using namespace std;
#define maxn 1010
#define Rep(i,s,t) for(int i = (s); i <= (t);i++)
int m,k;
int d[maxn],s[maxn];
int main(void)
{
scanf("%d%d",&m,&k);
Rep(i,1,m)scanf("%d",&d[i]);
Rep(i,1,m)scanf("%d",&s[i]);
s[m+1] = 0;
int res = s[1],MAX = s[1],cost = 0;
Rep(i,1,m)
{
if(res>=d[i])
{
res-=d[i];
cost+=d[i];
res+=s[i+1];
MAX = max(MAX,s[i+1]);
}
else
{
while(res<d[i])
{
res+=MAX;
cost+=k;
}
res-=d[i];
cost+=d[i];
res+=s[i+1];
MAX = max(MAX,s[i+1]);
}
}
printf("%d\n",cost);
return 0;
}
【CodeForces 214A】Old Peykan
最新推荐文章于 2019-07-11 16:58:28 发布