Submission #471784

#TimeUsernameProblemLanguageResultExecution timeMemory
471784nickmet2004Xoractive (IZhO19_xoractive)C++11
94 / 100
4 ms456 KiB
#include<bits/stdc++.h>
#include "interactive.h"
using namespace std;

vector<int> guess(int n){
    int a = ask(1);
    map<int , int> T;
     vector<int> ans;
    ans.resize(n);
    ans[0] = a;
    for(int i = 0; i < 7; ++i){
        vector<int> x;
        for(int k = 1; k < n; ++k){
            if(k>>i&1)x.emplace_back(k + 1);
        }
        vector<int> X = get_pairwise_xor(x);
        x.push_back(1);
        vector<int> Y = get_pairwise_xor(x);
        map<int , int> A;
        for(int x : X) A[x]--;
        for(int x : Y) A[x] ++;
        for(auto x : A){
            if(x.second && x.first != 0) T[x.first ^ a] += (1<<i);
        }
    }
    for(auto x : T) ans[x.second] = x.first;
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...