CSP-J T2 40分求助
  • 板块灌水区
  • 楼主zyxjeek
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/10/22 14:26
  • 上次更新2023/11/2 11:54:40
查看原帖
CSP-J T2 40分求助
737657
zyxjeek楼主2023/10/22 14:26
#include <bits/stdc++.h>
using namespace std;

int v[100005], a[100005], n, d, pre[100005];

int main() {
    //freopen("road.in", "r", stdin);
    //freopen("road.out", "w", stdout);
    cin >> n >> d;
    for (int i = 1; i < n; i++) {
        cin >> v[i];
        pre[i+1] = pre[i] + v[i];
    }
    for (int i = 1; i <= n; i++) cin >> a[i];
    int tot = ceil((double)pre[n] / d);
    int km = 0, cnt = 0;
    for (int i = 1; i < n; i++) {
        if (km < v[i]) {
            int pos;
            for (pos = i+1; pos < n; pos++)
                if (a[pos] < a[i])
                    break;
            int dis = pre[pos] - pre[i];
            int o = ceil(double(dis - km) / d);
            cnt += a[i]*o;
            km += d*o;
        }
        km -= v[i];
    }
    cout << cnt << endl;
    return 0;
}
2023/10/22 14:26
加载中...