爆零求调!
查看原帖
爆零求调!
1251905
cao_20115楼主2024/5/3 20:23
#include <cstdio>
#include <cmath>
int n, d;
int v[100010], a[100010];
long long ans;
long long t1, t2, t3;
int main(){
    scanf("%d%d", &n, &d);
    for (int i = 1; i < n; ++i) {
        scanf("%d", &v[i]);
    }
    for (int i = 1; i <= n; ++i) {
        scanf("%d", &a[i]);
    }
    for (int i = 1; i < n; ++i) {
        if (i == 1) {
            t1 = a[i];
            t2 += v[i];
            continue;
        }
        if (i != 1 && a[i] < a[i - 1]) {
            ans += t1 * ceil(1.0 * t2 / d);
            t2 = 0;
            t1 = a[i];
        }
        if (t1 < a[i + 1]) {
            t2 += v[i];
        }
    }
    printf("%lld", ans);
    return 0;
}

救救孩子~

2024/5/3 20:23
加载中...