【洛谷有题】CSP 2023 提高级第一轮 题目有误
查看原帖
【洛谷有题】CSP 2023 提高级第一轮 题目有误
324480
82Young_UwU楼主2024/5/13 18:28

CSP 2023 提高级第一轮
错误坐标:第20题
错误内容:代码部分搬运错误

CCF原卷代码:

#include <iostream>
#include <algorithm>
#include <vector>

const int MAXN = 100000;

int n;
int a[MAXN];
long long ans;

void solve(int l, int r) {
    if (l + 1 == r) {
        ans += a[l];
        return;
    }
    int mid = (l + r) >> 1;
    std::vector<int> pre(a + mid, a + r);
    for (int i = 1; i < r - mid; ++i) ①;
    std::vector<long long> sum(r - mid + 1);
    for (int i = 0; i < r - mid; ++i)
        sum[i + 1] = sum[i] + pre[i];
    for (int i = mid - 1, j = mid, max = 0; i >= l; --i) {
        while (j < r && ②) ++j;
        max = std::max(max, a[i]);
        ans += ③;
        ans += ④;
    }
    solve(l, mid);
    solve(mid, r);
}

int main() {
    std::cin >> n;
    for (int i = 0; i < n; ++i)
        std::cin >> a[i];
    ⑤;
    std::cout << ans << std::endl;
    return 0;
}

其中第2空上面一行的 mid - 1 谷内搬成 mid - l 了,求修正

2024/5/13 18:28
加载中...