评测机故障
查看原帖
评测机故障
677150
ThEskY_B1ackeR楼主2024/7/23 19:16

在评测P3373的如下代码时,评测机CE并给出以下报错信息: Nothing is compiled: OUTPUT exceeds.

#include <bits/stdc++.h>
using namespace std;
#define LL long long
constexpr int N = 1e6 + 10, mod = 571373;
int n, m, moo;
struct SegmentTree {
    int size = 1;
    LL sum = 0, lazyadd = 0, lazymul = 1;

    void receive(LL addval, LL mulval) {
        if (mulval) {
            sum *= mulval;
            lazyadd *= mulval;
            lazymul *= mulval;
            sum %= mod, lazyadd %= mod, lazymul %= mod;
        }
        if (addval) {
            sum += addval * size;
            lazyadd += addval;
            sum %= mod, lazyadd %= mod;
        }
    }
} Segt[N];
array<LL, N> a;

void push_up(const int u) {
    Segt[u].sum = Segt[u << 1].sum + Segt[u << 1 | 1].sum;
    Segt[u].sum %= mod;
}

void push_down(const int u) {
    Segt[u << 1].receive(Segt[u].lazyadd, Segt[u].lazymul);
    Segt[u << 1 | 1].receive(Segt[u].lazyadd, Segt[u].lazymul);
    Segt[u].lazyadd = 0, Segt[u].lazymul = 1;
}

void build_SegmentTree(const int u, const int l, const int r) {
    if (l == r) {
        Segt[u].sum = a[l];
        return;
    }
    Segt[u].size = r - l + 1;
    const int mid = (l + r) >> 1;
    build_SegmentTree(u << 1, l, mid);
    build_SegmentTree(u << 1 | 1, mid + 1, r);
    push_up(u);
}

void change_SegmentTree(const int u, const int L, const int R, const int l, const int r, const LL add, const LL mul) {
    if (L > R || l > R || r < L) return;
    if (L == l && R == r) {
        Segt[u].receive(add, mul);
        return;
    }
    push_down(u);
    const int mid = (l + r) >> 1;
    change_SegmentTree(u << 1, L, min(R, mid), l, mid, add, mul);
    change_SegmentTree(u << 1 | 1, max(L, mid + 1), R, mid + 1, r, add, mul);
    push_up(u);
}

LL query_SegmentTree(const int u, const int L, const int R, const int l, const int r) {
    if (L > R || l > R || r < L) return 0;
    if (L == l && R == r) {
        return Segt[u].sum;
    }
    push_down(u);
    const int mid = (l + r) >> 1;
    return query_SegmentTree(u << 1, L, min(mid, R), l, mid) + query_SegmentTree(u << 1 | 1, max(mid + 1, L), R, mid + 1, r);
}

int main() {
    cin >> n >> m >> moo;
    for (int i = 1; i <= n; i++) cin >> a[i];
    build_SegmentTree(1, 1, n);
    for (int id, x, y; m; m--) {
        cin >> id >> x >> y;
        LL k;
        if (id == 1) {
            cin >> k;
            change_SegmentTree(1, x, y, 1, n, 0, k);
        } else if (id == 2) {
            cin >> k;
            change_SegmentTree(1, x, y, 1, n, k, 0);
        } else {
            cout << query_SegmentTree(1, x, y, 1, n) % mod <<"\n";
        }
    }
    return 0;
}

本代码在本地的两个环境下都可以正常编译并运行。所以认为是评测机故障。

特此报告。

2024/7/23 19:16
加载中...