Submission #268654

#TimeUsernameProblemLanguageResultExecution timeMemory
268654aZvezdaXoractive (IZhO19_xoractive)C++14
0 / 100
2 ms384 KiB
#include <iostream>
#include <bits/stdc++.h>

#include "interactive.h"
using namespace std;

map<int, int> mp;

/*abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
1234567890*/

vector<int> guess(int n) {
	int zer = ask(1);
	vector<int> ret(n);
	for(int bit = 0; bit < 7; bit ++) {
		vector<int> curr;
		for(int i = 0; i < n; i ++) if(i & (1 << bit)) {
			curr.push_back(i + 1);
		}
		vector<int> ans1, ans2, ans3;
		ans1 = get_pairwise_xor(curr);
		curr.push_back(1);
		ans2 = get_pairwise_xor(curr);
		int cnt = 0;
		for(auto it : ans2) {
			if(cnt >= (int)ans1.size() || ans1[cnt] != it) {
				ans3.push_back(it ^ zer);
			} else {
				cnt ++;
			}
		}
		for(auto it : ans3) {
			mp[it] |= (1 << bit);
		}
	}
	for(auto it : mp) {
		ret[it.second] = it.first;
	}
	assert(ret.size() == n);
	return ret;
}

Compilation message (stderr)

In file included from /usr/include/c++/9/cassert:44,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:33,
                 from Xoractive.cpp:2:
Xoractive.cpp: In function 'std::vector<int> guess(int)':
Xoractive.cpp:40:20: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   40 |  assert(ret.size() == n);
      |         ~~~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...