Submission #241960

# Submission time Handle Problem Language Result Execution time Memory
241960 2020-06-26T12:33:04 Z valerikk Xoractive (IZhO19_xoractive) C++17
Compilation error
0 ms 0 KB
#include "interactive.h"
#include<bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef long double ld;
//#define int ll

#define mp make_pair
#define pb push_back
#define x first
#define y second
#define sz(a) ((int)(a).size())
#define all(a) (a).begin(), (a).end()

vector<int> get_xor(vector<int> pos) {
  for (auto &i : pos) i++;
  auto kek = get_pairwise_xor(pos);
  map<int, int> cnt;
  for (auto i : kek) {
    if (i != 0) cnt[i]++;
  }
  vector<int> flex;
  for (auto i : cnt) {
    i.y /= 2;
    while (i.y--) {
      flex.pb(i.x);
    }
  }
  return flex;
}

vector<int> get_kek(int a1, vector<int> pos) {
  auto kek1 = get_xor(pos);
  pos.pb(0);
  auto kek2 = get_xor(pos);
  map<int, int> cnt;
  for (auto i : kek2) cnt[i]++;
  for (auto i : kek1) cnt[i]--;
  vector<int> res;
  for (auto i : cnt) {
    if (i.y) {
      res.pb(i.x);
    }
  }
  return res;
}

vector<int> guess(int n) {
  vector<int> a(n);
  a[0] = ask(1);
  set<int> st;
  vector<set<int>> have(7);
  for (int i = 0; i < 7; i++) {
    vector<int> pos;
    for (int j = 1; j < n; j++) {
      if ((j >> i) & 1) pos.pb(j);
    }
    have[i] = get_kek(pos);
    for (auto j : have[i]) st.insert(j);
  }
  for (auto i : st) {
    int ind = 0;
    for (int j = 0; j < 7; j++) {
      if (have[j].count(i)) ind += 1 << j;
    }
    a[ind] = i;
  }
  return a;
}

Compilation message

Xoractive.cpp: In function 'std::vector<int> guess(int)':
Xoractive.cpp:59:26: error: cannot convert 'std::vector<int>' to 'int' for argument '1' to 'std::vector<int> get_kek(int, std::vector<int>)'
     have[i] = get_kek(pos);
                          ^