제출 #958359

#제출 시각아이디문제언어결과실행 시간메모리
958359kilkuwuXoractive (IZhO19_xoractive)C++17
0 / 100
1 ms600 KiB
#include "interactive.h"
#include <bits/stdc++.h>
using namespace std;

vector<int> guess(int n) {  // ask, getpairwisexor
  std::vector<int> ans(n);
  ans[0] = ask(1);

  std::map<int, int> mp;

  for (int b = 6; b >= 0; b--) {
    std::vector<int> ids;
    for (int i = 1; i < n; i++) {
      if (i >> b & 1) {
        ids.push_back(i + 1);
      }
    }

    auto a1 = get_pairwise_xor(ids);
    ids.push_back(1);
    auto a2 = get_pairwise_xor(ids);

    std::multiset<int> s(a1.begin(), a1.end());

    for (int i : a2) {
      s.erase(s.find(i));
    }

    for (int i : s) {
      mp[i ^ ans[0]] ^= 1 << b;
    }
  } 

  for (auto [f, s] : mp) {
    ans[s] = f;
  }

  return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...