Submission #1232621

#TimeUsernameProblemLanguageResultExecution timeMemory
1232621Double_SlashBroken Device (JOI17_broken_device)C++20
0 / 100
35 ms1344 KiB
#include "Annalib.h"
#include <bits/stdc++.h>

using namespace std;
using ll = long long;
using ull = unsigned long long;

void Anna(int N, ll X, int K, int P[]) {
    mt19937 gen;
    uniform_int_distribution<ull> rng(1, -1ull);
    ll a[N];
    for (ll &ai: a) ai = rng(gen);
    for (int i = K; i--;) a[P[i]] = 0;
    vector<int> basis;
    for (int i = N; i--;) {
        for (int j: basis) a[i] = min(a[i], a[i] ^ a[j]);
        if (a[i]) basis.emplace_back(i);
    }
    for (int i: basis) {
        if ((X ^ i) < X) X ^= i;
        else a[i] = 0;
    }
    for (int i = N; i--;) Set(i, !!a[i]);
}
#include "Brunolib.h"
#include <bits/stdc++.h>

using namespace std;
using ll = long long;
using ull = unsigned long long;

ll Bruno(int N, int A[]) {
    mt19937 gen;
    uniform_int_distribution<ull> rng(1, -1ull);
    ll a[N];
    for (ll &ai: a) ai = rng(gen);
    ull x = 0;
    for (int i = N; i--;) x ^= a[i] * A[i];
    return x;
}
#Verdict Execution timeMemoryGrader output
Fetching results...