Logo wfirstzhang的博客

博客

#413. 内存较小的电脑 题目资源

2025-09-20 17:28:35 By wfirstzhang

413interactor

#include <cstdio>
#include <iostream>
#include "testlib.h"

int main(int argc, char** argv) {
    registerTestlibCmd(argc, argv);
    registerGen(argc, argv, 1);
    int n = inf.readInt();
    int q = inf.readInt();
    int rangel = inf.readInt();
    int ranger = inf.readInt();
    printf("%d %d\n", n, q);
    auto arr = new long[n + 1]();
    for (int i = 1; i <= n; i++)
    {
        arr[i] = rnd.next(rangel, ranger);
        printf("%ld ", arr[i]);
        arr[i] += arr[i - 1];
    }
    printf("\n");
    auto l = new int[q], r = new int[q];
    long ans = 0;
    for (int i = 0; i < q; i++)
    {
        l[i] = rnd.next(1, n);
        r[i] = rnd.next(1, n);
        if (l[i] > r[i])
            std::swap(l[i], r[i]);
        printf("%d %d\n", l[i], r[i]);
        ans ^= arr[r[i]] - arr[l[i] - 1];
    }
    fflush(stdout);
    delete[] l;
    delete[] r;
    delete[] arr;
    if (ans == ouf.readLong())
        quitf(_ok, "The answer is %ld.", ans);
    quitf(_wa, "Wrong answer.");
}

评论

暂无评论

发表评论

可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。