15pts求调
查看原帖
15pts求调
1137345
cfm123456楼主2024/5/23 16:44
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
const int N=100010;
long long n,d;
long long v[N],a[N];
int main() {
    cin>>n>>d;
    for(int i=1;i<n;i++) scanf("%d",&v[i]);
    for(int i=1;i<=n;i++) scanf("%d",&a[i]);
    long long ans=0;
    long long m=a[1],res=0;
    for(int i=1;i<n;i++) {
    m=min(m,a[i]);
        if(res>=v[i]) res-=v[i];
        else {
            long long t=(v[i]-res)/d;
            if((v[i]-res)%d!=0) ;
            ans+=m*t;
            res=t*d+res-v[i];
         }
     }
    cout<<ans;
    return 0;
 }
2024/5/23 16:44
加载中...