Submission #1163241

#TimeUsernameProblemLanguageResultExecution timeMemory
1163241SmuggingSpunXoractive (IZhO19_xoractive)C++20
6 / 100
0 ms408 KiB
#include "interactive.h"
#include<bits/stdc++.h>
using namespace std;
vector<int>guess(int n){
    vector<int>ans;
    if(n <= 15){
        for(int i = 1; i <= n; i++){
            ans.emplace_back(ask(i));
        }
    }
    else{
        ans.resize(n);
        ans[0] = ask(1);
        map<int, int>id;
        for(int i = 0; (1 << i) <= n; i++){
            vector<int>p;
            for(int j = 1; j <= n; j++){
                if(1 << i & j){
                    p.emplace_back(j);
                }
            }
            vector<int>S = get_pairwise_xor(p);
            map<int, int>cnt;
            for(int& x : S){
                cnt[x]++;
            }
            p.emplace_back(1);
            S = get_pairwise_xor(p);
            for(int& x : S){
                cnt[x]--;
            }
            for(auto& [u, v] : cnt){
                if(v > 0){
                    id[u ^ ans[0]] |= 1 << i;
                }
            }
        }
        for(auto& [u, v] : id){
            ans[v - 1] = u;
        }
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...