1 条题解

  • 0
    @ 2025-10-8 16:59:24
    #include <bits/stdc++.h>
    using namespace std;
    typedef long long LL;
    const int N=1e5+10;
    LL v[N], a[N];
    int main(){
        int n; LL d; scanf("%d%lld", &n, &d);
        for(int i=2; i<=n; i++) scanf("%lld", &v[i]);
        for(int i=1; i<=n; i++) scanf("%lld", &a[i]);
        LL mn=a[1], sum=0, ans=0;
        for(int i=2; i<=n; i++){
            sum += v[i];
            if(sum > 0){
                ans += (sum + d - 1)/d * mn;
                sum -= (sum + d - 1)/d * d;
            }
            mn = min(mn, a[i]);
        }
        printf("%lld\n", ans);
        return 0;
    }
    
    • 1

    信息

    ID
    1971
    时间
    1000ms
    内存
    512MiB
    难度
    5
    标签
    递交数
    80
    已通过
    33
    上传者