Submission #1262305

#TimeUsernameProblemLanguageResultExecution timeMemory
1262305miniobBroken Device (JOI17_broken_device)C++20
0 / 100
50 ms1472 KiB
#include "Annalib.h" #include <bits/stdc++.h> using namespace std; long long los[157]; long long bity[60]; bitset<150> dosta[60]; long long ktory[157]; bool czyb[157]; int ileju = 0; mt19937 rng(2137); void add(long long x) { bitset<150> mojamaska; mojamaska[ileju] = 1; ileju++; for (int i = 59; i >= 0; i--) { if ((x >> i) & 1) { if (!bity[i]) { bity[i] = x; dosta[i] = mojamaska; return; } x ^= bity[i]; mojamaska ^= dosta[i]; } } } vector<long long> dajpod(long long x) { bitset<150> curmaska = 0; for (long long i = 59; i >= 0; i--) { if ((x >> i) & 1) { if (!bity[i]) { return {}; } x ^= bity[i]; curmaska ^= dosta[i]; } } vector<long long> odp; for (long long i = 0; i < ileju; i++) { if (curmaska[i] & (long long)1) { odp.push_back(i); } } return odp; } long long gen6() { return ((long long)rng() << (long long)32) + (long long)rng(); } void Anna( int N, long long X, int K, int P[] ){ set<long long> nie; ileju = 0; for(int i = 0; i < 60; i++) { bity[i] = false; dosta[i] = 0; } for(int i = 0; i < 150; i++) { czyb[i] = false; } for(long long i = 0; i < K; i++) { nie.insert(P[i]); } for(long long i = 0; i < 150; i++) { los[i] = gen6() % (long long)(1100000000000000001); if(nie.find(i) == nie.end()) { ktory[ileju] = i; add(los[i]); } } vector<long long> git = dajpod(X); for(auto x : git) { czyb[ktory[x]] = 1; } for(long long i = 0; i < 150; i++) { if(czyb[i]) { Set(i, 1); } else { Set(i, 0); } } }
#include "Brunolib.h" #include <bits/stdc++.h> using namespace std; long long los[157]; mt19937 rng(2137); long long gen6() { return ((long long)rng() << (long long)32) + (long long)rng(); } long long Bruno( int N, int A[] ){ mt19937_64 rng(N); long long odp = 0; for(int i = 0; i < 150; i++) { los[i] = gen6() % (long long)(1100000000000000001); } for(int i = 0; i < N; i++) { if(A[i]) { odp ^= los[i]; } } return odp; }
#Verdict Execution timeMemoryGrader output
Fetching results...