Submission #1169846

#TimeUsernameProblemLanguageResultExecution timeMemory
1169846mnbvcxz123Xoractive (IZhO19_xoractive)C++20
100 / 100
3 ms508 KiB
#include<bits/stdc++.h>
#include"interactive.h"
using namespace std;
using ll=long long;

#define fi first
#define se second

vector<int>guess(int n){
    vector<int>a(n);
    a[0]=ask(1);
    map<int,int>ans;
    for(int i=1;i<=n;i<<=1){
        vector<int>p;
        for(int j=2;j<=n;++j)
            if(j&i)p.push_back(j);
        auto g1=get_pairwise_xor(p);
        p.push_back(1);
        auto g2=get_pairwise_xor(p);
        map<int,int>mp;
        for(auto it:g2)++mp[it];
        for(auto it:g1)--mp[it];
        for(auto it:mp)
            if(it.se)
                ans[it.fi^a[0]]|=i;
    }
    for(auto to:ans)a[to.se-1]=to.fi;
    return a;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...