제출 #226208

#제출 시각아이디문제언어결과실행 시간메모리
226208zoooma13Xoractive (IZhO19_xoractive)C++14
0 / 100
8 ms512 KiB
#include "bits/stdc++.h"
#include "interactive.h"
using namespace std;

vector<int> guess(int n){
    if(n == 2)
        return {ask(1) ,ask(2)};

    vector <int> ans(n); ans[0] = ask(1);
    map <int ,int> pos;

    int lg2 = 31-__builtin_clz(n);
    for(int b=0; b<=lg2; b++){
        vector <int> ids{1};
        for(int i=2; i<=n; i++)
            if(i&(1<<b))
                ids.push_back(i);

        auto vv = get_pairwise_xor(ids);
        multiset <int> vals = multiset<int>{vv.begin() ,vv.end()};
        ids.erase(ids.begin());
        for(int r : get_pairwise_xor(ids))
            vals.erase(vals.find(r));
        for(int r : vals)
            pos[r^ans[0]] |= (1<<b);
    }

    for(auto&p : pos)
        ans[p.second-1] = p.first;
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...