Submission #471793

#TimeUsernameProblemLanguageResultExecution timeMemory
471793nickmet2004Xoractive (IZhO19_xoractive)C++11
6 / 100
5 ms456 KiB
#include<bits/stdc++.h>
#include "interactive.h"
using namespace std;
vector<int> guess(int n){
    if(n <= 14){
        vector<int> h;
        for(int i =1; i<= n; ++i){
            h.emplace_back(ask(i));
        }return h;
    }
    map<int , int> T;
    int a = ask(1);
    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>0) T[x.first^a] += (1 << i);
    }
    vector<int> ans;
    ans.resize(n);
    ans[0]=a;
    for(auto x : T)ans[x.second]=x.first;
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...